Inhaltsverzeichnis

SOFORT Überweisung

Informationen zu SOFORT Überweisung sind unter https://www.girosolution.de/girocheckout/fuer-haendler/ zu finden.

Testdaten

Formularfeld Eingabewert
BLZ 88888888
BIC SFRTDE20XXX
Login (beliebig)
Passwort (beliebig)
Konto (aus Liste wählen)
TAN (beliebig)

Workflow

KundeShopGiroCheckoutSofort1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 (c)2016 by GiroSolution AG

  1. Käufer wählt Zahlungsart Sofortüberweisung aus
  2. Shop initiiert Sofortüberweisungs-Transaktion (Initialisierung)
  3. GiroCheckout initialisiert Transaktion bei SOFORT
  4. SOFORT übermittelt Zahlungs-URL an GiroCheckout
  5. Shop bekommt Rückmeldung mit Zahlungs-URL (bei Fehler ist Transaktion beendet)
  6. Shop sendet Zahlungs-URL an Kundenbrowser
  7. Kundenbrowser leitet zu Sofortüberweisung weiter
  8. Sofortüberweisung verlangt Zahlungsdaten vom Kunden
  9. Kunde gibt Zahlungsdaten ein und autorisiert Transaktion
  10. SOFORT führt Transaktion durch
  11. SOFORT ruft Girocheckout auf für Kunden-Redirect
  12. Girocheckout leitet Kunden auf Ergebnisseite
  13. SOFORT informiert GiroCheckout über den Ausgang der Transaktion
  14. GiroCheckout benachrichtigt Shop über Transaktionsausgang (Benachrichtigung)
  15. Shop verarbeitet Transaktionsausgang
  16. Shop sendet HTTP Statuscode an GiroCheckout

API-Funktionen

Übersicht

Wie im Workflow dargestellt, gibt es mehrere API-Aufrufe während einer Sofort-Überweisungs-Transaktion.

  1. Transaktion initiieren
  2. Bezahlinformation an Händler übermitteln
  3. Bezahlinformation mit Käuferbrowserweiterleitung zurück zum Händler (durch Käufer nach Zahlung ausgelöst)

Im Folgenden werden die API-Felder und Aufrufe näher erläutert.

Initialisierung einer SOFORT Zahlung

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.

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 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
Beispiel
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

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 zur Bezahlseite von SOFORT zurückgeliefert.

Parameter
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
Beispiel im Erfolgsfall

hash : ad1e0df28e2797a39c05ca08be654ef2

{"reference":"7f6eaf07-c39f-41ea-91ba-d84e9ef27467","redirect":"https:\/\/www.sofort.com\/payment\/go\/5df96b843a91d433266d64cf6237bca27d4bd78a","rc":"0","msg":""}
Beispiel im Fehlerfall

hash : f55ce87e132ebb7eb20004c6b186ce09

{"reference":null,"redirect":null,"rc":5030,"msg":"Betrag ungültig"}

Benachrichtigung über den Zahlungsausgang

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.

Anfrage

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

GET Parameter
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

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 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.

Anfrage

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

GET Parameter
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