Benutzer-Werkzeuge

Webseiten-Werkzeuge


Übersetzungen dieser Seite:
girocheckout:paybybank:start

Pay by bank

Testdaten

Bei den Tests werden Sie immer auf das selbe Formular weitergeleitet, in dem je nach gewähltem Fall die folgenden Felder auszufüllen sind.

Interne Simulation (ohne Weiterleitung):

Formularfeld Eingabewert
IBAN DE63123456791212121212

Dann mit „Weiter“ bestätigen und erfolgreich beenden.

Deutsche Bank Sandbox:

Formularfeld Eingabewert
IBAN DE17215730140403340300 [dann mit OK bestätigen]
Filiale 615
Konto 4033403

Testfälle für negative Ausgänge über Centbeträge oder ähnliches, gibt es hier nicht.

Workflow


hide footbox

participant "Kunde" as customer
participant "Shop" as shop
participant "GiroCheckout" as girocheckout
participant "Rechenzentrum" as provider
participant "Kundenbank" as bank

autonumber

customer -> shop:
shop -> girocheckout:
girocheckout -> provider:
provider -> girocheckout:
girocheckout -> shop:
shop -> customer:
customer -> provider:
provider -> provider:
provider -> bank:
customer -> bank:
bank -> bank:
bank -> provider:
provider -> girocheckout:
girocheckout -> shop
shop -> shop:
shop -> girocheckout:
girocheckout -> shop:
shop -> customer:

center footer (c)2025 by S-Management Services GmbH

  1. Käufer wählt Zahlart „Pay by bank“ aus
  2. Shop initiiert Pay-by-bank-Transaktion bei GiroCheckout (Initialisierung)
  3. GiroCheckout initialisiert Transaktion beim Rechenzentrum
  4. Rechenzentrum übermittelt Ergebnis an GiroCheckout
  5. Shop bekommt Rückmeldung über Initialisierungsausgang (mit Redirect URL im Erfolgsfall, bei Fehler ist Transaktion beendet)
  6. Shop sendet Redirect URL an Kundenbrowser
  7. Kundenbrowser leitet zum Rechenzentrum weiter
  8. Kunde gibt Daten im Bezahlformular ein
  9. Abhängig von der Kundenbank, leitet Rechenzentrum an die Bank weiter
  10. Kundenbank zeigt Loginseite an und Kunde meldet sich an, Kunde autorisiert Transaktion bei der Bank
  11. Bank führt Überweisung durch
  12. Bank übermittelt Ergebnis an Rechenzentrum
  13. Rechenzentrum übermittelt Ergebnis an GiroCheckout
  14. GiroCheckout benachrichtigt Shop über Transaktionsausgang (Notification) (Benachrichtigung)
  15. Shop verarbeitet Transaktionsausgang
  16. Shop sendet HTTP Statuscode an GiroCheckout (als Antwort auf Notification)
  17. GiroCheckout leitet Kunden zurück zum Hândler (Rücksprung)
  18. Shop zeigt Transaktionsergebnis an.

API-Funktionen

Initialisierung einer Zahlung

Durch eine erfolgreiche Initialisierung wird eine Referenznummer erstellt sowie ein Weiterleitunslink (redirect) an den Händler übermittelt. Der übermittelte Link führt zu einem Formular des Rechenzentrums, wo die Zahlungsdaten eingegeben und dann i.d.R. (je nach Kundenbank) zur Bank des Käufers weitergeleitet und weitere Informationen abgefragt und/oder Bestätigungen eingeholt werden. Er muss an diese URL weitergeleitet werden. Dies kann durch einen HTTP-Redirect-Header, eine HTML-Seite mit entsprechendem Meta-Tag oder Javascript erfolgen.

Anfrage

URL: https://payment.girosolution.de/girocheckout/api/v2/transaction/start
Bereitzustellen von: GiroCheckout
Aufzurufen von: Händler

POST Parameter
Name Pflicht Type Beschreibung
merchantId Ja Integer Händler-ID des Shops
projectId Ja integer Projekt-ID eines Pay-by-bank-Projekts
merchantTxId Ja String(255) Eindeutige Transaktions-ID des Händlers (z.b. Bestellnummer). Zulässige Zeichen: beliebige Buchstaben (inkl. sprachl. Sonderzeichen), 0-9, Zeichen & = + , : ; . _ ! ? # /
amount Ja Integer Betrag in Cent
currency Ja String(3) Währung der Transaktion
EUR = Euro (default)
purpose Ja String(27) Verwendungszweck der Überweisung (erscheint auf dem Kontoauszug)
urlRedirect Ja String(2048) URL, an die der Kunde nach der Zahlung geschickt werden soll.
urlNotify Ja String(2048) URL, an die der Zahlungsausgang gemeldet werden soll.
kassenzeichen Optional String(255) Optionales Feld für die Übergabe eines Kassenzeichens. Dieses wird dann im GiroCockpit in den Transaktionsdetails angezeigt und mit den Transaktionsdaten exportiert und es kann dort auch danach gesucht werden. Zulässige Zeichen sind alle UTF-8-Zeichen.
hash Ja String(32) HMAC MD5 hash über alle Werte des Aufrufs. Siehe hash generieren
Beispiel
curl -d "merchantId=1234567" \
     -d "projectId=1234" \
     -d "merchantTxId=1234567890" \
     -d "amount=100" \
     -d "currency=EUR" \
     -d "purpose=Beispieltransaktion" \
     -d "urlRedirect=http://www.my-domain.de/girocheckout/redirect" \
     -d "urlNotify=http://www.my-domain.de/girocheckout/notify" \
     -d "hash=256b7bb16edbc76871c830d0d623c303" \
     https://payment.girosolution.de/girocheckout/api/v2/transaction/start

Antwort

Die Antwort enthält ein JSON Objekt. Das Feld rc liefert einen Fehlercode zurück. Wird rc = 0 zurückgeliefert, wurde die Transaktion erfolgreich initialisiert. Es wird als Antwort eine Transaktionsnummer und die redirectURL zum Online Banking des Käufers zurückgeliefert.

Parameter
Name Pflicht Type Beschreibung
rc Ja Integer Fehlernummer
msg Ja String(255) Zusätzliche Informationen im Fehlerfall
reference Ja String(36) Eindeutige GiroCheckout Transaktions-ID
redirect Ja String(2048)Redirect URL zur Weiterleitung des Kunden zum Online Banking
HEADER Parameter
hash Ja String(32) HMAC MD5 hash über alle Werte der Rückmeldung. Siehe hash der Rückantwort
Beispiel im Erfolgsfall

hash : 177a0db9c9745b94e1b8d31b22cc7876

{"reference":"c6edadaa-b507-49f1-a548-013675fb5c83","redirect":"https://test-payform.girocheckout.de/web-api/de_DE/R.po?n=wUcNog4zKHgZcO6_Psg6N7KHiemkJSnAg7v0lyh4eKo54k","rc":"0","msg":""}
Beispiel im Fehlerfall

hash : 98d9d8b133acf97eb92601fa72d804a0

 {"reference":"f84e606f-817d-439f-ada1-d37e85cb6314","redirect":"","rc":"5100","msg":"Fehler beim Zahlungsabwickler"}

Benachrichtigung über den Zahlungsausgang

Der Ausgang einer Pay by bank Zahlung wird an die im urlNotify Parameter angegebene URL übermittelt. Diese Rückmeldung dient dazu, dem Händler den Ausgang der Transaktion mitzuteilen. Durch diese Information kann der Transaktionsstatus beim Händler geändert werden. Der Zahlungausgang der Transaktion steht im Feld gcResultPayment.

Anfrage

URL: notifyUrl aus der Transaktionsinitialisierung
Bereitzustellen von: Händler
Aufzurufen von: GiroCheckout

GET Parameter
Name Pflicht Type Beschreibung
gcReference Ja String(36) GiroCheckout Transaktions-ID
gcMerchantTxId Ja String(255) Händler Transaktions-ID
gcBackendTxId Ja String(8) Zahlungsabwickler Transaktions-ID
gcAmount Ja Integer Bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent
gcCurrency Ja String(3) Währung (i.d.R. EUR)
gcResultPayment Ja Integer Ergebniscodes der Zahlung
gcHash Ja String(32) HMAC MD5 Hash über alle Werte des Aufrufs. Siehe hash generieren

Antwort

Als Antwort auf den GET-Request wird einer der folgenden HTTP Statuscodes erwartet.

HTTP Statuscode Beschreibung
200 (OK) Die Benachrichtigung wurde korrekt verarbeitet.
400 (Bad Request) Der Händler hat die Benachrichtigung nicht verarbeitet, möchte aber auch nicht erneut benachrichtigt werden.
Alle anderen Die Benachrichtigung wird max. 10 Mal alle 30 Minuten wiederholt, bis der Händler den HTTP Statuscode 200 oder 400 zurückgibt.

Rückleitung des Kunden zum Händler

Nach Beendigung der Zahlung wird der Kunde automatisch zurück zum Händler geleitet.

Anfrage

URL: redirectUrl aus der Transaktionsinitialisierung
Bereitzustellen von: Händler
Aufzurufen von: GiroCheckout

GET Parameter
Name Pflicht Type Beschreibung
gcReference Ja String(36) GiroCheckout Transaktions-ID
gcMerchantTxId Ja String(255) Händler Transaktions-ID
gcBackendTxId Ja String(8) Zahlungsabwickler Transaktions-ID
gcAmount Ja Integer Bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent
gcCurrency Ja String(3) Währung (i.d.R. EUR)
gcResultPayment Ja Integer Ergebnis der Zahlung
gcHash Ja String(32) HMAC MD5 Hash über alle Werte des Aufrufs. Siehe hash generieren
girocheckout/paybybank/start.txt · Zuletzt geändert: 2025/02/28 20:36

Seiten-Werkzeuge