Integration
Grundlagen
FAQ
eps
giropay
iDEAL
Kreditkarte
Lastschrift
Bluecode
Maestro
Payment Page
PayPal
Tools
Fehlernummern
Ergebniscode
Testdaten
Grundlagen
FAQ
eps
giropay
iDEAL
Kreditkarte
Lastschrift
Bluecode
Maestro
Payment Page
PayPal
Tools
Fehlernummern
Ergebniscode
Testdaten
Dies ist eine alte Version des Dokuments!
Informationen zu Kreditkarten sind unter https://www.girosolution.de/girocheckout/ zu finden.
3-D Secure 2.0
Für Tests mit Kreditkarten sind für 3-D Secure 2.0 folgende Karten zu verwenden:
Fall | Kartennummer |
---|---|
Ohne Autorisierung durch den Kunden | 4012001037167778 |
Mit Autorisierung durch den Kunden | 4012001037664444 |
Mit 3DS Method | 4005559876540 |
Mit 3DS Method und Autorisierung durch den Kunden | 4012001036853337 |
Karteninhaber: beliebig
Kartenprüfnummer (CVC2/CVV): beliebige 3-stellige Zahl (wird nicht geprüft)
Gültigkeitsdatum: beliebiges, in der Zukunft liegendes, Datum
Bei der Frage nach Adressdaten im Kreditkartenformular können bei Tests beliebige Daten in alle Felder eingetragen werden. Diese werden im Testmodus nicht validiert.
Transaktionsausgang
ResultCode | Antwortcode | Hinweis |
---|---|---|
4000 | erfolgreiche Transaktion | Nach Eingabe der oben genannten Daten und Berücksichtigung folgender Informationen erfolgt eine erfolgreiche Transaktion: Ganzzahliger Betrag zwischen 1,00 und 99,00 |
4502 | abgebrochene Transaktion | Eine abgebrochene Transaktion wird nach drücken des Buttons Abbrechen ausgelöst. |
Detaillierte Informationen zu den Transaktionstypen.
Eine Reservierung ist zu verwenden, wenn die Erfüllung eines Auftrages zu einem späteren Zeitpunkt erfolgt, zum Zeitpunkt der Bestellung aber der Bestellwert für die vom Kunden vorgelegte Karte genehmigt werden soll (bei Kreditkarten-Transaktionen) bzw. die angegebene Bankverbindung geprüft werden soll (z.B. bei Paydirekt). Nach Ablauf dieses Zeitraumes wird die Reservierung entweder gebucht oder storniert.
Verkauf ist zu verwenden, wenn der Geschäftsvorgang abgeschlossen ist, also z. B. ein Warenkorb angeboten, bestellt und an den Kunden ausgeliefert wurde. Das Zahlungsmittel des Kunden wird in Höhe des Betrags belastet.
Durch eine erfolgreiche Initialisierung wird eine Referenznummer erstellt sowie ein Weiterleitungslink (redirect) an den Händler übermittelt. Der übermittelte Link führt zum Bezahlformular. Der Kunde muss an diese URL weitergeleitet werden. Dies kann durch einen HTTP-Redirect-Header, eine HTML-Seite mit entsprechendem Meta-Tag oder Javascript erfolgen.
Bereitzustellen von: GiroCheckout
Aufzurufen von: Händler
Wie im Workflow zu sehen ist, gibt es unterschiedliche API-Aufrufe während einer Kreditkartentransaktion. Ferner kann während des Bezahlvorganges noch eine zusätzliche 3D-Secure-Überprüfung stattfinden, die allerdings von Händler und PSP völlig unabhängig ist und nur vom kreditkartenverarbeitenden Institut gesteuert wird.
URL https://payment.girosolution.de/girocheckout/api/v2/transaction/start
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 |
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 |
purpose | Ja | String(27) | Verwendungszweck der Kreditkartentransaktion. Diese Information erscheint auf der Kreditkartenabrechnung. |
type | Optional | String(4) | Transaktionsart (siehe Transaktionsarten) SALE = Verkauf wird sofort gebucht (default) AUTH = Reservierung des Betrags |
locale | Optional | String(4) | Sprache des Kreditkartenformulars de = deutsch (default) en = englisch es = spanisch fr = französisch it = italienisch ja = japanisch pt = portugiesisch nl = niederländisch cs = tschechisch sv = schwedisch da = dänisch pl = polnisch spde = deutsch Spende spen = englisch Spende |
mobile | Optional | Integer | Bezahlseite für mobile Browser optimiert 0 = nein (default) 1 = ja |
pkn | Optional | String(50) | Das Feld dient dazu eine erneute Transaktion, ohne erneute Eingabe der Kreditkartendaten, zu starten. create = neue Pseudo-Kartennummer für die verwendete Kreditkarte generieren [Pseudo-Kartennummer] = Kartennumer der zu verwendenden Kreditkarte (siehe Pseudokartennummer) |
recurring | Optional | Boolean | wiederkehrende Zahlung 0 = nein (default) 1 = ja, weitere Informationen |
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=100" \ -d "currency=EUR" \ -d "purpose=Beispieltransaktion" \ -d "locale=de" \ -d "mobile=0" \ -d "pkn=create" \ -d "recurring=0" \ -d "urlRedirect=http://www.my-domain.de/girocheckout/redirect" \ -d "urlNotify=http://www.my-domain.de/girocheckout/notify" \ -d "hash=26fbe72bcc0b7cd0b024b2282e974583" \ https://payment.girosolution.de/girocheckout/api/v2/transaction/start
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.
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 |
{"reference":"6d2d31b6-c23f-47c4-8f6c-1a0495f35f0f","redirect":"https://testmerch.directpos.de/web-api/SSLPayment.po?n=wrlIRO9O30S4NNAO9h6uHwhyWibDFKUWeoWy7mPLDDyZ","rc":"0","msg":""}
{"reference":null,"redirect":null,"rc":5030,"msg":"Betrag ungültig"}
Der Ausgang einer 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 einer Transaktion steht im Feld gcResultPayment.
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, Penny |
gcCurrency | Ja | String | Währung |
gcResultPayment | Ja | Integer | Ergebniscodes der 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 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, Penny |
gcCurrency | Ja | String | Währung |
gcResultPayment | Ja | Integer | Ergebnis der Zahlung |
gcHash | Ja | String | HMAC MD5 hash über alle Werte des Aufrufs. Siehe hash generieren |
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
Beim Buchen (capture) wird das Kundenkonto mit einem Betrag belastet, die Gutschrift erfolgt auf das Händlerkonto. Dieses Modell unterstellt, dass der zugrundeliegende Geschäftsvorfall abgeschlossen ist, z.B. wurde ein Warenkorb angeboten, bestellt und an den Kunden ausgeliefert.
Eine Erstattung ist zu verwenden, wenn dem Kunden eine vorangegangene Zahlung komplett oder teilweise erstattet werden soll.
URL CAPTURE: https://payment.girosolution.de/girocheckout/api/v2/transaction/capture
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 |
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 |
purpose | Optional | String(27) | Verwendungszweck der Erstattung. Diese Information erscheint auf der Kreditkartenabrechnung. |
reference | Ja | String | GiroCheckout Transaktions-ID, für die eine Buchung oder Erstattung durchgeführt 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=100" \ -d "currency=EUR" \ -d "reference=fb70602d-c137-4413-8432-7dcc69a9d891" \ -d "hash=edb7459114db25c2991d1783d4ab5388" \ https://payment.girosolution.de/girocheckout/api/v2/transaction/capture
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 weitere Informationen zurück.
Name | Pflicht | Type | Beschreibung |
---|---|---|---|
rc | Ja | Integer | Fehlernummer |
msg | Ja | String | zusätzliche Informationen im Fehlerfall |
reference | Ja | String | GiroCheckout Transaktions-ID |
referenceParent | Ja | String | GiroCheckout Transaktions-ID der zugrundeliegenden Ursprungstransaktion |
merchantTxId | Ja | String | Händler Transaktions-ID |
backendTxId | Ja | String | Zahlungsabwickler Transaktions-ID |
amount | Ja | Integer | bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent, Penny |
currency | Ja | String | Währung |
resultPayment | Ja | Integer | Ergebnis der Transaktion |
hash | Ja | String | HMAC MD5 hash über alle Werte des Aufrufs. Siehe hash generieren |
{"reference":"6d2d31b6-c23f-47c4-8f6c-1a0495f35f0f","redirect":"https://testmerch.directpos.de/web-api/SSLPayment.po?n=wrlIRO9O30S4NNAO9h6uHwhyWibDFKUWeoWy7mPLDDyZ","rc":"0","msg":""}
{"reference":null,"redirect":null,"rc":5030,"msg":"Betrag ungültig"}
Stornieren ist zu verwenden, wenn eine akzeptierte Transaktion nicht ausgeführt werden soll.
URL VOID: https://payment.girosolution.de/girocheckout/api/v2/transaction/void
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 |
reference | Ja | String | GiroCheckout Transaktions-ID, für die eine Stornierung durchgeführt 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 "reference=fb70602d-c137-4413-8432-7dcc69a9d891" \ -d "hash=edb7459114db25c2991d1783d4ab5388" \ https://payment.girosolution.de/girocheckout/api/v2/transaction/void
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 weitere Informationen zurück.
Name | Pflicht | Type | Beschreibung |
---|---|---|---|
rc | Ja | Integer | Fehlernummer |
msg | Ja | String | zusätzliche Informationen im Fehlerfall |
reference | Ja | String | GiroCheckout Transaktions-ID |
referenceParent | Ja | String | GiroCheckout Transaktions-ID der zugrundeliegenden Ursprungstransaktion |
merchantTxId | Ja | String | Händler Transaktions-ID |
backendTxId | Ja | String | Zahlungsabwickler Transaktions-ID |
amount | Ja | Integer | Stornierter Betrag, bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent, Penny |
currency | Ja | String | Währung |
resultPayment | Ja | Integer | Ergebnis der Transaktion |
hash | Ja | String | HMAC MD5 hash über alle Werte des Aufrufs. Siehe hash generieren |
{"reference":"ef27303f-87b3-465e-9c39-fabfb749d253","referenceParent":"5a101478-df14-4a79-86af-f743784c2c24","merchantTxId":"58e39be91fce8","backendTxId":"1226723_01","amount":"100","currency":"EUR","resultPayment":"4000","rc":0,"msg":""}
{"reference":null,"referenceParent":null,"merchantTxId":null,"backendTxId":null,"amount":null,"currency":null,"resultPayment":null,"rc":5200,"msg":"Transaktion nicht akzeptiert"}
Für diese Funktion ist eine separate Einrichtung erforderlich und es fallen einmalige Einrichtungsgebühren an.
Eine Pseudo-Kartennummer ist eine Referenz auf eine vom Käufer verwendete Kreditkarte (Kreditkartennummer und Gültigkeitsdatum). Durch dieser Referenz wird dem Händler ermöglicht eine bereits verwendete Kreditkarte zur Auswahl anzubieten. Wird die Nummer bei der Initialisierung einer Kreditkartentransaktion mitgeschickt, wird die Kreditkartennummer und das Gültigkeitsdatum im Zahlformular vorausgefüllt. Der Kunde muss nur die Kartenprüfnummer eingeben und kann die Zahlung durchführen.
Durch diese Funktion werden PKN-Informationen bereitgestellt. Sie liefert als Ergebnis eine PKN sowie die hinterlegten Kreditkarteninformationen (maskierte Kreditkartennummer, Gültigkeitsdatum) , welche für eine bereits durchgeführte Transaktion verwendet wurde.
URL: https://payment.girosolution.de/girocheckout/api/v2/creditcard/pkninfo
Bereitzustellen von: GiroCheckout
Aufzurufen von: Händler
Name | Pflicht | Type | Beschreibung |
---|---|---|---|
merchantId | Ja | Integer | Händler-ID eines Kreditkarten Projekts |
projectId | Ja | Integer | Projekt-ID eines Kreditkarten Projekts |
reference | Ja | String(36) | Eindeutige GiroCheckout Transaktions-ID |
hash | Ja | String(32) | HMAC MD5 hash über alle Werte des Aufrufs. Siehe hash generieren |
curl -d "merchantId=1234567" \ -d "projectId=1234" \ -d "reference=6d2d31b6-c23f-47c4-8f6c-1a0495f35f0f" \ -d "hash=dc1686b621c9cc15bd271390c694258d" \ https://payment.girosolution.de/girocheckout/api/v2/creditcard/pkninfo
Die Antwort besteht aus einem JSON Objekt. Das Feld rc liefert einen Fehlercode zurück. Wird rc = 0 zurückgeliefert, wurde die Anfrage erfolgreich abgesetzt. Die Antwort enthält die PKN-Nummer, die Kreditkartennummer und das Gültigkeitsdatum.
Name | Pflicht | Type | Beschreibung |
---|---|---|---|
rc | Ja | Integer | Fehlernummer |
msg | Ja | String | zusätzliche Informationen im Fehlerfall |
pkn | Ja | String | Pseudo-Kartennummer |
cardnumber | Ja | String | maskierte Kreditkartennummer, z.B. 411111******1111 |
expiremonth | Ja | String | Monat des Gültigkeitsdatums der Kreditkarte |
expireyear | Ja | String | Jahr des Gültigkeitsdatums der Kreditkarte |
HEADER Parameter | |||
hash | Ja | String | HMAC MD5 hash über alle Werte der Rückmeldung. Siehe hash der Rückantwort |
{"pkn":"ad5c386b38cc9aeb839705d1d10da499","cardnumber":"411111******1111","expiremonth":"2","expireyear":"2016","rc":0,"msg":""}
{"pkn":null,"cardnumber":null,"expiremonth":null,"expireyear":null,"rc":5034,"msg":"Transaktion nicht vorhanden"}
Die Transaktionsdaten werden übermittelt und das Ergebnis der Kreditkartenzahlung wird umgehend zurückgeliefert. Diese Funktion wird für wiederkehrende Kreditkartenzahlungen, z.B. für Abonnements, verwendet.
Folgende Schritte sind durchzuführen, um eine wiederkehrende Zahlung zu implementieren:
Um eine wiederkehrende (recurring) Zahlung ohne Kundenintervention durchzuführen, ist die folgende Schnittstelle zu verwenden.
URL https://payment.girosolution.de/girocheckout/api/v2/transaction/payment
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 |
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 |
purpose | Ja | String(27) | Verwendungszweck der Kreditkartenransaktion. Diese Information erscheint auf der Kreditkartenabrechnung. |
type | Optional | String | Transaktionsart (siehe Transaktionsarten) SALE = Verkauf wird sofort gebucht (default) AUTH = Reservierung des Betrags |
pkn | Optional | String(50) | Das Feld dient dazu eine erneute Transaktion, ohne erneute Eingabe der Kreditkartendaten, zu starten. create = neue Pseudo-Kartennummer für die verwendete Kreditkarte generieren [Pseudo-Kartennummer] = Kartennumer der zu verwendenden Kreditkarte (siehe Pseudokartennummer) |
recurring | Optional | Boolean | wiederkehrende Zahlung 0 = nein (default) 1 = ja, weitere Informationen |
urlNotify | Optional | 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=100" \ -d "currency=EUR" \ -d "purpose=Beispieltransaktion" \ -d "pkn=ad5c386b38cc9aeb839705d1d10da499" \ -d "recurring=0" \ -d "hash=0361f14f7b1be9be16326b2edd925853" \ https://payment.girosolution.de/girocheckout/api/v2/transaction/payment
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 das Transaktionsergebnis zurück.
Name | Pflicht | Type | Beschreibung |
---|---|---|---|
rc | Ja | Integer | Fehlernummer |
msg | Ja | String | zusätzliche Informationen im Fehlerfall |
reference | Ja | String | eindeutige GiroCheckout Transaktions-ID |
backendTxId | Ja | String | Zahlungsabwickler Transaktions-ID |
resultPayment | Ja | Integer | Ergebnis der Transaktion |
HEADER Parameter | |||
hash | Ja | String | HMAC MD5 hash über alle Werte der Rückmeldung. Siehe hash der Rückantwort |
{"reference":"7f18859d-7246-4181-8fb5-30ce7958f309","backendTxId":"1196307_01","resultPayment":"4000","rc":0,"msg":""}
{"reference":"fb70602d-c137-4413-8432-7dcc69a9d891","backendTxId":"","resultPayment":"4106","rc":0,"msg":"Pseudo-Kartennummer ungültig "}