Benutzer-Werkzeuge

Webseiten-Werkzeuge


Übersetzungen dieser Seite:
girocheckout:ideal:start

iDEAL

Testdaten

Formularfeld Eingabewert
issuer RABOBANK

Transaktionsausgang

ResultCode Antwortcode Hinweis
4000 erfolgreiche Transaktion Nach Eingabe der oben genannten Daten erfolgt eine erfolgreiche Transaktion.
abgebrochene Transaktion vom iDEAL Testsystem nicht unterstützt

Workflow

KundeShopGiroCheckoutiDEALOnline-Banking1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 (c)2013 by GiroSolution AG

  1. Käufer wählt Zahlart iDEAL aus
  2. Shop prüft teilnehmende Banken (Bankenabfrage)
  3. Shop bekommt Rückmeldung, welche Banken iDEAL unterstützt
  4. Shop initiiert iDEAL Transaktion (Initialisierung)
  5. GiroCheckout initialisiert Transaktion bei iDEAL
  6. iDEAL übermittelt Ergebnis an GiroCheckout
  7. Shop bekommt Rückmeldung über Initialisierungsausgang (bei Fehler ist Transaktion beendet)
  8. Shop sendet Redirect URL an Kundenbrowser
  9. Kundenbrowser leitet zum Online-Banking weiter
  10. Online-Banking zeigt Kundenloginseite an
  11. Kunde autorisiert Transaktion
  12. Bank führt Überweisung durch
  13. Bank übermittelt Ergebnis an iDEAL
  14. iDEAL übermittelt Ergebnis an GiroCheckout
  15. GiroCheckout benachrichtigt Shop über Transaktionsausgang (Benachrichtigung)
  16. Shop verarbeitet Transaktionsausgang
  17. Shop sendet HTTP Statuscode an GiroCheckout
  18. GiroCheckout sendet Rücksprung zum Händler an iDEAL
  19. Kunde klickt „Zurück zum Shop“ (Rücksprung)

API-Funktionen

Übersicht

Wie im Workflow dargestellt gibt es mehrere API-Aufrufe während einer iDEAL Transaktion.

  1. iDEAL Bankenabfrage
  2. Transaktion initiieren
  3. Bezahlinformation an Händler übermitteln
  4. 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 erleutert.

iDEAL Bankenabfrage

Gibt eine Liste zurück, welche alle iDEAL Banken enthält. Aus dieser Bankenliste muss der Käufer seine Bank auswählen.

URL: https://payment.girosolution.de/girocheckout/api/v2/ideal/issuer
Bereitzustellen von: GiroSolution AG
Aufzurufen von: Händler

POST Parameter
Name Pflicht Type Beschreibung
merchantId Ja Integer Händler-ID eines iDEAL Projekts
projectId Ja Integer Projekt-ID eines iDEAL Projekts
hash Ja String(32)HMAC MD5 hash über alle Werte des Aufrufs. Siehe hash generieren
Beispiel
curl -d "merchantId=1234567" \
     -d "projectId=1234" \
     -d "hash=02f123fdb8b2056596abc0e6ebb1a8c3" \
     https://payment.girosolution.de/girocheckout/api/v2/ideal/issuer

Antwort

Die Antwort enthält ein JSON Objekt. Wenn rc = 0 zurückgeliefert wird, enthält das Element issuer die zur Verfügung stehenden Banken.

Parameter
Name Pflicht Type Beschreibung
rc Ja Integer Fehlernummer
msg Ja String(255) Zusätzliche Informationen im Fehlerfall
issuer Optional Array Liste der iDEAL issuer Banken
HEADER Parameter
hash Ja String(32) HMAC MD5 hash über alle Werte der Rückmeldung. Siehe hash der Rückantwort
Beispiel

hash : eef32d3cd0f91bf9328825da6b8997ce

{"issuer":{"NLRABO2U152":"Issuer Simulation","INGBNL2A":"Issuer Simulation V3 - ING","RABONL2U":"Issuer Simulation V3 - RABO"},"rc":0,"msg":""}

Initialisierung einer iDEAL Zahlung

Durch eine erfolgreiche Initialisierung wird eine Referenznummer erstellt sowie ein Weiterleitunslink (redirect) an den Händler übermittelt. Der übermittelte Link führt zum Onlinebanking des Käufers. 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 eines iDEAL Projekts
projectId Ja integer Projekt-ID eines iDEAL Projekts
merchantTxId Ja String(255) Eindeutige Transaktions-ID des Händlers. Zulässige Zeichen: beliebige Buchstaben (inkl. sprachl. Sonderzeichen), 0-9, Zeichen & = + , : ; . _ ! ? # /
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 iDEAL Überweisung
issuer Optional String(20) iDEAL Issuer Bank. Wenn nicht angegeben, wird zu einer Bankauswahlseite weitergeleitet.
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 bald auch 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 "issuer=INGBNL2A" \
     -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 : 17790db9c9745b94e1b8db1b22cc7876

{"reference":"c6edadaa-b507-49f1-a548-013675fb5c83","redirect":"http://testnl.paydutch.nl/WeDeal/start.aspx?ID=9c55b84d-3c1f-4c9a-86e1-322318e282cd","rc":"0","msg":""}
Beispiel im Fehlerfall

hash : 98d9d8b133acf97eb92601fa72d804a0

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

Benachrichtigung über den Zahlungsausgang

Der Ausgang einer iDEAL Zahlung wird, an die im urlNotify Paramter 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 iDEAL Transaktion steht im Feld gcResultPayment.

Aufgrund des iDEAL 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(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
gcResultPayment Ja Integer Ergebniscodes der iDEAL 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 iDEAL 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(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
gcResultPayment Ja Integer Ergebnis der iDEAL Zahlung
gcHash Ja String(32) HMAC MD5 hash über alle Werte des Aufrufs. Siehe hash generieren

Weitere Transaktionsarten

Diese Transaktionen referenzieren auf eine zuvor erfolgte Transaktion. Die Transaktion basiert auf einer Server-zu-Server-Kommunikation und erfordert keine Kundenaktion (Eingabe von Daten).

Bereitzustellen von: GiroCheckout
Aufzurufen von: Händler

Workflow

ShopGiroCheckoutIcePay1 2 3 4 (c)2016 by GiroSolution AG

  1. Shop sendet referenzierende Transaktion
  2. GiroCheckout leitet Transaktion zu Abwickler
  3. Abwickler übermittelt Ergebnis an GiroCheckout
  4. Shop bekommt Rückmeldung über Transaktionsausgang (Benachrichtigung)

Erstattung (REFUND)

Eine Erstattung ist zu verwenden, wenn dem Kunden eine vorangegangene Zahlung komplett oder teilweise erstattet werden soll.

  • Bedingung: kann nur auf folgende Transaktionstypen angewendet werden:
    • Reservierung
    • Reservierung/Buchung
  • Betrag ⇐ Transaktionsbetrag der vormals gesendeten Transaktion

POST Parameter

URL REFUND: https://payment.girosolution.de/girocheckout/api/v2/transaction/refund

Name Pflicht Type Beschreibung
merchantId Ja Integer Händler-ID eines Kreditkarten Projekts
projectId Ja Integer Projekt-ID eines Kreditkarten Projekts
merchantTxId Ja String(255) eindeutige Transaktions-ID des Händlers. Zulässige Zeichen: beliebige Buchstaben (inkl. sprachl. Sonderzeichen), 0-9, Zeichen & = + , : ; . _ ! ? # /
amount Ja Integer Bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent, Penny
currency Ja String(3) Währung der Transaktion, gemäß ISO 4217.
EUR = Euro
reference Ja String(36) GiroCheckout Transaktions-ID, für die eine Buchung oder Erstattung durchgeführt werden soll
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 "reference=f84e606f-817d-439f-ada1-d37e85cb6314" \
     -d "hash=256b7bb16edbc76871c830d0d623c303" \
     https://payment.girosolution.de/girocheckout/api/v2/transaction/refund

Antwort

Die Antwort besteht aus einem JSON Objekt. Das Feld rc liefert einen Fehlercode zurück. Wird rc = 0 zurückgeliefert, wurde die Transaktion erfolgreich initialisiert. Sie bekommen als Antwort eine Transaktionsnummer und die redirectURL zum Kreditkartenformular zurück.

Parameter

Name Pflicht Type Beschreibung
reference Ja String(36) GiroCheckout Transaktions-ID
merchantTxId Ja String(255) Händler Transaktions-ID
backendTxId Ja String(8) Zahlungsabwickler Transaktions-ID
amount Ja Integer bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent, Penny
currency Ja String(3) Währung
resultPayment Ja Integer Ergebnis der Transaktion
hash Ja String(32) HMAC MD5 hash über alle Werte des Aufrufs. Siehe hash generieren
Beispiel im Erfolgsfall

hash : 17790db9c9745b94e1b8db1b22cc7876

{"reference":"e897ef6c-cfd0-4c5e-a932-b15ba24c15cb","referenceParent":null,"merchantTxId":"123456","backendTxId":"5720d913a1338","amount":"100","currency":"EUR","resultPayment":4000,"rc":0,"msg":""}
Beispiel im Fehlerfall

hash : 98d9d8b133acf97eb92601fa72d804a0

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

Senderinformationen abrufen

Mit dieser Funktion können die Senderinformationen einer erfolgreich durchgeführten Transaktion abgerufen werden. Anhand der angegebenen Referenz wird Kontoinhaber, IBAN und BIC des Absenders geliefert. Diese Information kann dann für eine Rücküberweisung an den Zahler genutzt werden.

API-Aufruf

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

POST-Parameter
Name Pflicht Type Beschreibung
merchantId Ja Integer Händler-ID eines iDEAL Projekts
projectId Ja Integer Projekt-ID eines iDEAL Projekts
reference Ja String(36)GiroCheckout Transaktions-ID
hash Ja String(32)HMAC MD5 hash über alle Werte des Aufrufs (siehe hash generieren)
Beispiel
curl -d "merchantId=1234567" \
     -d "projectId=1234" \
     -d "reference=9ce6c641-4082-4f75-ae54-333309febcc5" \
     -d "hash=246d1fa2ed97ecff895de974c560f9ec" \
     https://payment.girosolution.de/girocheckout/api/v2/ideal/senderinfo

Antwort

Die Antwort besteht aus einem JSON Objekt. Das Feld rc liefert einen Fehlercode. Wird rc = 0 zurückgeliefert, enthalten die entsprechenden Felder die Senderinformationen.

JSON-Parameter
Name Pflicht Type Beschreibung
rc Ja Integer Fehlernummer
msg Ja String(255) zusätzliche Informationen im Fehlerfall
accountholder Optional String(255) Inhaber des Absenderkontos
iban Optional String(36) IBAN des Absenderkontos
bic Optional String(11) BIC des Absenderkontos
HEADER Parameter
hash Ja String(32) HMAC MD5 hash über alle Werte der Rückmeldung. Siehe hash der Rückantwort
Beispiel im Erfolgsfall

hash : cde71b6b98e8dae709fdc1e17aef885f

{"accountholder":"Max Mustermann","iban":"DE87123456781234567890","bic":"TESTDETT421","rc":0,"msg":""}
Beispiel im Fehlerfall

hash : f1d186103b8c4cb59c54ae7b987a9d4c

{"accountholder":null,"iban":null,"bic":null,"rc":5034,"msg":"Transaktion nicht vorhanden"}
girocheckout/ideal/start.txt · Zuletzt geändert: 2023/05/07 08:01

Seiten-Werkzeuge