Informationen zu SOFORT Überweisung sind unter https://www.girosolution.de/girocheckout/fuer-haendler/ zu finden.
Formularfeld | Eingabewert |
---|---|
BLZ | 88888888 |
BIC | SFRTDE20XXX |
Login | (beliebig) |
Passwort | (beliebig) |
Konto | (aus Liste wählen) |
TAN | (beliebig) |
Wie im Workflow dargestellt, gibt es mehrere API-Aufrufe während einer Sofort-Überweisungs-Transaktion.
Im Folgenden werden die API-Felder und Aufrufe näher erläutert.
Durch eine erfolgreiche Initialisierung wird eine Referenznummer erstellt sowie ein Weiterleitungslink (redirect) an den Händler übermittelt. Der übermittelte Link führt zu den Seiten von SOFORT, wo der Käufer den Bezahlvorgang durchführt. Der Käufer muss also an diese URL weitergeleitet werden. Dies kann durch einen HTTP-Redirect-Header, eine HTML-Seite mit entsprechendem Meta-Tag oder Javascript erfolgen.
URL: https://payment.girosolution.de/girocheckout/api/v2/transaction/start
Bereitzustellen von: GiroCheckout
Aufzurufen von: Händler
Name | Pflicht | Type | Beschreibung |
---|---|---|---|
merchantId | Ja | Integer | Händler-ID eines SOFORT Projekts |
projectId | Ja | integer | Projekt-ID eines SOFORT Projekts |
merchantTxId | Ja | String(255) | Eindeutige Transaktions-ID des Händlers |
amount | Ja | Integer | Betrag in Cent Wenn kind = 2, dann als Betrag 0 angeben |
currency | Ja | String(3) | Währung der Transaktion EUR = Euro (default) |
purpose | Ja | String(27) | Verwendungszweck der SOFORT Überweisung |
bic | Optional | String(11) | BIC der Käuferbank (8 oder 11-stellig) |
urlRedirect | Ja | String | URL, an die der Kunde nach der Zahlung geschickt werden soll. |
urlNotify | Ja | String | URL, an die der Zahlungsausgang gemeldet werden soll. |
hash | Ja | String | HMAC MD5 hash über alle Werte des Aufrufs. Siehe hash generieren |
curl -d "merchantId=1234567" \ -d "projectId=1234" \ -d "merchantTxId=1234567890" \ -d "amount=10000" \ -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=e7d0315da159739d8087277f786f6f2f" \ https://payment.girosolution.de/girocheckout/api/v2/transaction/start
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 zur Bezahlseite von SOFORT zurückgeliefert.
Name | Pflicht | Type | Beschreibung |
---|---|---|---|
rc | Ja | Integer | Fehlernummer |
msg | Ja | String | Zusätzliche Informationen im Fehlerfall |
reference | Ja | String | Eindeutige GiroCheckout Transaktions-ID |
redirect | Ja | String | Redirect URL zur Weiterleitung des Kunden zur SOFORT-Seite |
HEADER Parameter | |||
hash | Ja | String | HMAC MD5 hash über alle Werte der Rückmeldung. Siehe hash der Rückantwort |
hash : ad1e0df28e2797a39c05ca08be654ef2
{"reference":"7f6eaf07-c39f-41ea-91ba-d84e9ef27467","redirect":"https:\/\/www.sofort.com\/payment\/go\/5df96b843a91d433266d64cf6237bca27d4bd78a","rc":"0","msg":""}
hash : f55ce87e132ebb7eb20004c6b186ce09
{"reference":null,"redirect":null,"rc":5030,"msg":"Betrag ungültig"}
Der Ausgang einer SOFORT-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 Zahlungsausgang der SOFORT-Transaktion steht im Feld gcResultPayment.
Aufgrund des SOFORT-Ablaufes findet keine automatische Rückleitung des Käufers an die im Parameter urlRedirect angegebene URL statt. Eine Weiterleitung erfolgt erst, wenn der Käufer den „Abbrechen“ oder „Zurück zum Shop“ Button drückt.
URL: notifyUrl aus der Transaktionsinitialisierung
Bereitzustellen von: Händler
Aufzurufen von: GiroCheckout
Name | Pflicht | Type | Beschreibung |
---|---|---|---|
gcReference | Ja | String | GiroCheckout Transaktions-ID |
gcMerchantTxId | Ja | String | Händler Transaktions-ID |
gcBackendTxId | Ja | String | Zahlungsabwickler Transaktions-ID |
gcAmount | Ja | Integer | bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent |
gcCurrency | Ja | String | Währung |
gcResultPayment | Ja | Integer | Ergebniscodes der SOFORT-Zahlung |
gcHash | Ja | String | HMAC MD5 hash über alle Werte des Aufrufs. Siehe hash generieren |
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. |
Nach Beendigung der SOFORT-Zahlung kann der Kunde über einen Link zurück zum Händler kommen. Eine Weiterleitung erfolgt erst, wenn der Käufer den „Abbrechen“ oder „Zurück zum Shop“ Button drückt. Diese Rückleitung erfolgt nicht automatisch.
URL: redirectUrl aus der Transaktionsinitialisierung
Bereitzustellen von: Händler
Aufzurufen von: GiroCheckout
Name | Pflicht | Type | Beschreibung |
---|---|---|---|
gcReference | Ja | String | GiroCheckout Transaktions-ID |
gcMerchantTxId | Ja | String | Händler Transaktions-ID |
gcBackendTxId | Ja | String | Zahlungsabwickler Transaktions-ID |
gcAmount | Ja | Integer | bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent |
gcCurrency | Ja | String | Währung |
gcResultPayment | Ja | Integer | Ergebnis der SOFORT-Zahlung |
gcHash | Ja | String | HMAC MD5 hash über alle Werte des Aufrufs. Siehe hash generieren |