Benutzer-Werkzeuge

Webseiten-Werkzeuge


Übersetzungen dieser Seite:
girocheckout:giropay:start

giropay/ giropay-ID

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

giropay kann ausschließlich mit der Währung EURO verwendet werden.

Bitte verwenden Sie für Tests ausschließlich das giropay Testinstitut!

Testdaten giropay

giropay

Formularfeld Eingabewert
Bankleitzahl 12345679
BIC TESTDETT421
Kontonummer/ Anmeldename sepatest1
PIN beliebige 5-stellige Zahl
TAN beliebige 6-stellige Zahl
mobile Endgeräte
Anmeldename chiptansepatest1
PIN 12345
TAN 123456

giropay-ID

Formularfeld Eingabewert
Bankleitzahl 12345679
BIC TESTDETT421
Kontonummer/ Anmeldename pushtanavstest1
PIN 12345
TAN 123456

giropay+giropay-ID

Formularfeld Eingabewert
Bankleitzahl 12345679
BIC TESTDETT421
Kontonummer/ Anmeldename sepatest1
PIN 12345
TAN 123456

Um den Fall einer gescheiterten Altersverifikation zu testen, verwenden Sie anstatt dem o.a. Benutzernamen „pushtanavstest5“ oder „chiptanavstest5“.

Transaktionsausgang

ResultCode Antwortcode Hinweis
4000 erfolgreiche Transaktion Nach Eingabe der oben genannten Daten erfolgt eine erfolgreiche Transaktion.
4502 abgebrochene Transaktion Eine abgebrochene Transaktion wird nach drücken des Buttons giropay abbrechen und zurück zum Shop ausgelöst.

Workflow

PlantUML Graph

  1. Käufer/Kunde wählt giropay/giropay-ID und gibt BIC seiner Bank ein
  2. Shop prüft Bankstatus (Bankstatus prüfen)
  3. Shop bekommt Rückmeldung, ob Bank giropay/giropay-ID unterstützt
  4. Shop initiiert giropay/giropay-ID Transaktion (Initialisierung)
  5. GiroCheckout initialisiert Transaktion bei giropay
  6. giropay übermittelt Ergebnis an GiroCheckout
  7. Shop bekommt Rückmeldung über Initialisierungsausgang (bei Fehler ist Transaktion beendet)
  8. Shop sendet Redirect URL an Käufer-/Kundenbrowser
  9. Käufer-/Kundenbrowser leitet zum Online-Banking weiter
  10. Online-Banking zeigt Loginseite an
  11. Käufer/Kunde autorisiert Transaktion
  12. Bank führt Auftrag durch
  13. Bank übermittelt Ergebnis an giropay
  14. giropay übermittelt Ergebnis an GiroCheckout
  15. GiroCheckout benachrichtigt Shop über Ausgang (Benachrichtigung)
  16. Shop verarbeitet Ausgang
  17. Shop sendet HTTP Statuscode an GiroCheckout
  18. GiroCheckout sendet Rücksprung zum Händler an giropay
  19. Käufer/Kunde klickt „Zurück zum Shop“ (Rücksprung)

API-Funktionen

Übersicht

Wie im Workflow dargestellt gibt es mehrere API-Aufrufe während einer giropay Transaktion oder giropay-ID Abfrage. Eine giropay Transaktion kann zusätzlich mit einer giropay-ID Abfrage kombiniert gesendet werden.

  1. Bankstatus prüfen
  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.

Bankstatus prüfen

Es wird geprüft ob eine Bank am giropay Bezahlverfahren oder einer giropay-ID Abfrage teilnimmt. Diesbezüglich wird die BIC des Käufer-Girokontos übermittelt. Die Antwort zeigt ob eine giropay Transaktion oder giropay-ID Abfrage möglich ist. Es wid empfohlen vor jeder Initiierung einer giropay Transaktion oder giropay-ID Abfrage den Bankstatus zu prüfen, da dadurch unnötige Verkaufsabbrüche verhindert werden können.

API-Aufruf

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

POST-Parameter
Name Pflicht Type Beschreibung
merchantId Ja Integer Händler-ID eines giropay, giropay-ID oder giropay-ID + giropay Projekts
projectId Ja Integer Projekt-ID eines giropay, giropay-ID oder giropay-ID + giropay Projekts
bic Ja String(11)BIC der Käuferbank (8 oder 11-stellig), die geprüft werden soll (durch Bankauswahl Widget ermittelbar)
hash Ja String(32)HMAC MD5 hash über alle Werte des Aufrufs (siehe hash generieren)
Beispiel
curl -d "merchantId=1234567" \
     -d "projectId=1234" \
     -d "bic=TESTDETT421" \
     -d "hash=246d1fa2ed97ecff895de974c560f9ec" \
     https://payment.girosolution.de/girocheckout/api/v2/giropay/bankstatus

Antwort

Die Antwort besteht aus einem JSON Objekt. Das Feld rc liefert einen Fehlercode. Wird rc = 0 zurückgeliefert, unterstützt die angefragte Bank giropay, sonst enthält er einen entsprechenden Fehlercode. Zusätzliche Informationen zur Unterstützung von giropay und giropay-ID sind den Elementen giropay und giropayid zu entnehmen. Sind zusätzliche Informationen zur Bank bekannt, werden diese ebenfalls zurückgeliefert.

JSON-Parameter
Name Pflicht Type Beschreibung
rc Ja Integer Fehlernummer
msg Ja String zusätzliche Informationen im Fehlerfall
bankcode Optional Integer Bankleitzahl
bic Optional String BIC, wenn vorhanden
bankname Optional String Bankname
giropay Optional Integer 0 = giropay Zahlung wird nicht unterstützt
1 = giropay Zahlung wird unterstützt
giropayid Optional Integer 0 = giropay-ID und giropay-ID + giropay wird nicht unterstützt
1 = giropay-ID und giropay-ID + giropay wird unterstützt
HEADER Parameter
hash Ja String HMAC MD5 hash über alle Werte der Rückmeldung. Siehe hash der Rückantwort
Beispiel im Erfolgsfall

hash : cde71b6b98e8dae709fdc1e17aef885f

{"bankcode":"94059421","bic":"TESTDETT421","bankname":"Testbank","giropay":1,"giropayid":1,"rc":0,"msg":""}
Beispiel im Fehlerfall

hash : f1d186103b8c4cb59c54ae7b987a9d4c

{"bankcode":null,"bic":null,"bankname":null,"giropay":null,"giropayid":null,"rc":6001,"msg":"Bank unbekannt"}

giropay Bankenabfrage

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

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

POST Parameter
Name Pflicht Type Beschreibung
merchantId Ja Integer Händler-ID eines giropay Projekts
projectId Ja Integer Projekt-ID eines giropay 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/giropay/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 Zusätzliche Informationen im Fehlerfall
issuer Optional Array Liste der giropay issuer Banken bestehend aus dem Key BIC und dem Bankname
HEADER Parameter
hash Ja String HMAC MD5 hash über alle Werte der Rückmeldung. Siehe hash der Rückantwort
Beispiel

hash : cf6109481bc2a7bdf82fa3af02a8e763

{"issuer":{"PBNKDEFF100":"Postbank","BELADEBEXXX":"Landesbank Berlin - Berliner Sparkasse", [...]} ,"rc":0,"msg":""}

Initialisierung einer giropay Zahlung

Die Initialisierung einer giropay Zahlung kann mit oder ohne der Altersverifikation (giropay-ID) stattfinden. Diese Unterscheidung wird ausschließlich anhand der übermittelten projectId getroffen.

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
giropaygiropay-IDgiropay+giropay-ID
merchantId Ja Ja Ja Integer Händler-ID eines giropay Projekts
projectId Ja Ja Ja integer Projekt-ID eines giropay Projekts
merchantTxId Ja Ja Ja String(255) eindeutige Transaktions-ID des Händlers
amount Ja Ja Integer Bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent, Penny
currency Ja Ja String(3) Währung der Transaktion
EUR = Euro
purpose Ja Ja String(27) Verwendungszweck der giropay Überweisung
bic Ja Ja Ja String(11) BIC der Käuferbank (8 oder 11-stellig) (durch Bankauswahl Widget ermittelbar)
iban Optional Optional Optional String(34) IBAN der Kundenbankverbindung ohne Leerzeichen
info1LabelOptional Optional Optional String(30) zusätzliche Information für die giropay Überweisungsseiten (Feldname)
info1Text Optional Optional Optional String(80) zusätzliche Information für die giropay Überweisungsseiten (Information)
info2LabelOptional Optional Optional String(30) zusätzliche Information für die giropay Überweisungsseiten (Feldname)
info2Text Optional Optional Optional String(80) zusätzliche Information für die giropay Überweisungsseiten (Information)
info3LabelOptional Optional Optional String(30) zusätzliche Information für die giropay Überweisungsseiten (Feldname)
info3Text Optional Optional Optional String(80) zusätzliche Information für die giropay Überweisungsseiten (Information)
info4LabelOptional Optional Optional String(30) zusätzliche Information für die giropay Überweisungsseiten (Feldname)
info4Text Optional Optional Optional String(80) zusätzliche Information für die giropay Überweisungsseiten (Information)
info5LabelOptional Optional Optional String(30) zusätzliche Information für die giropay Überweisungsseiten (Feldname)
info5Text Optional Optional Optional String(80) zusätzliche Information für die giropay Überweisungsseiten (Information)
urlRedirect Ja Ja Ja String URL, an die der Kunde nach der Zahlung geschickt werden soll.
urlNotify Ja Ja Ja String URL, an die der Zahlungsausgang gemeldet werden soll.
hash Ja Ja Ja String HMAC MD5 hash über alle Werte des Aufrufs. Siehe hash generieren

Mit den info Parametern können zusätzliche Informationen auf den giropay Überweisungsseiten angezeigt werden. Es sind max. 5 Elemente möglich. Eine Information besteht immer aus einem Label und einer Information.

Beispiel
curl -d "merchantId=1234567" \
     -d "projectId=1234" \
     -d "merchantTxId=1234567890" \
     -d "amount=100" \
     -d "currency=EUR" \
     -d "purpose=Beispieltransaktion" \
     -d "bic=TESTDETT421" \
     -d "info1Label=Ihre Kundennummer" \
     -d "info1Text=0815" \
     -d "urlRedirect=http://www.ihre-domein.de/girocheckout/redirect" \
     -d "urlNotify=http://www.ihre-domein.de/girocheckout/notify" \
     -d "hash=6048aefae3e7a684ac9d7251220f99f8" \
     https://payment.girosolution.de/girocheckout/api/v2/transaction/start

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. 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 zusätzliche Informationen im Fehlerfall
reference Optional String eindeutige GiroCheckout Transaktions-ID
redirect Optional String Redirect URL zur Weiterleitung des Kunden an sein Online Banking
HEADER Parameter
hash Ja String HMAC MD5 hash über alle Werte der Rückmeldung. Siehe hash der Rückantwort
Beispiel im Erfolgsfall

hash : f56b5f91094cd22ace93b76ef250aa62

{"reference":"9ce6c641-4082-4f75-ae54-333309febcc5","redirect":"https://giropay.starfinanz.de/ftg/a/go/07i2j1k00pp0u109biywcswh;jsessionid=B1D575F122ED8D4B4B4EB0F83E85897F","rc":"0","msg":""}
Beispiel im Fehlerfall

hash : baf3c9b7217f362c29dd5cf6f098320c

{"reference":null,"redirect":null,"rc":5033,"msg":"Währung ungütig"}

Benachrichtigung über den Zahlungsausgang

Der Ausgang einer giropay 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 giropay Transaktion steht im Feld gcResultPayment. Wurde zusätzlich die giropay-ID Überprüfung angefordert, steht das Ergebnis der Altersprüfung im Feld gcResultAVS.

Aufgrund des giropay 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
giropaygiropay-IDgiropay+giropay-ID
gcReference Ja Ja Ja String GiroCheckout Transaktions-ID
gcMerchantTxId Ja Ja Ja String Händler Transaktions-ID
gcBackendTxId Ja Ja Ja String Zahlungsabwickler Transaktions-ID
gcAmount Ja Ja Integer bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent
gcCurrency Ja Ja String Währung
gcResultPayment Ja Ja Integer Ergebniscodes der giropay Zahlung
gcResultAVS Ja Ja Integer Ergebniscodes der giropay Altersverifikation
gcObvName Optional Optional String Optional zuschaltbares Feld, welches den Namen der zu verifizierenden Person beinhaltet (giropay-ID)
gcHash Ja Ja 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 giropay 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
giropaygiropay-IDgiropay+giropay-ID
gcReference Ja Ja Ja String GiroCheckout Transaktions-ID
gcMerchantTxId Ja Ja Ja String Händler Transaktions-ID
gcBackendTxId Ja Ja Ja String Zahlungsabwickler Transaktions-ID
gcAmount Ja Ja Integer bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent
gcCurrency Ja Ja String Währung
gcResultPayment Ja Ja Integer Ergebniscodes der giropay Zahlung
gcResultAVS Ja Ja Integer Ergebniscodes der giropay Altersverifikation
gcObvName Optional OptionalString Optional zuschaltbares Feld, welches den Namen der zu verifizierenden Person beinhaltet (giropay-ID)
gcHash Ja Ja Ja String HMAC MD5 hash über alle Werte des Aufrufs. Siehe hash generieren

Bankauswahl Widget

Das Bankauswahl Widget kann verwendet werden, um eine autocomplete-Funktion für ein beliebiges Formulareingabefeld für eine BIC oder Bankleitzahl, anzuzeigen.

Demoseite

Integration

Natives Javascript Widget (pure JS)

Dieses Widget ist in pure JS implementiert und benötigt keine externen Libraries (wie jQuery). Somit treten keine Konflikte mit anderen Bibliotheken auf.

Javascript- und CSS-Dateien einbinden:

  • Zeile 1: Stylesheet einbinden
  • Zeile 2: Javascript-Datei für Widget einbinden
 1 <link rel="stylesheet" href="https://bankauswahl.giropay.de/widget/v2/style.css" />
 2 <script src="https://bankauswahl.giropay.de/widget/v2/girocheckoutwidget.js"></script>
 

Im BIC-Feld des Formulars für Giropay, das Ereignis „onkeyup“ einbinden:

 1 <input type="text" id="giropay_bic" name="giropay_bic" value="" onkeyup="girocheckout_widget(this, event, 'bic', '0')">

Bei EPS, sieht das Ereignis so aus:

 1 <input type="text" id="eps_bic" name="eps_bic" value="" onkeyup="girocheckout_widget(this, event, 'bic', '3')">

Das Widget kann über verschiedene Parameter konfiguriert werden (Parameter 3 und 4 des Aufrufs girocheckout_widget):

Parameter typ Wert Beschreibung
return String blz
bic
Legt fest, ob nach Auswahl der Bank die Bankleitzahl (blz) oder die BIC (bic) im Eingabefeld stehen soll. Normalerweise sollte hier 'bic' stehen.
kind integer 0 = alle Banken stehen zu Auswahl
1 = Banken die giropay unterstützen
2 = Banken die giropay-ID unterstützen
Legt fest, welche Banken zur Auswahl stehen.

Das ist alles!

girocheckout/giropay/start.txt · Zuletzt geändert: 2017/01/05 18:09 von michaelheumann

Seiten-Werkzeuge