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 PayPal sind unter https://www.girosolution.de/girocheckout/fuer-haendler/ zu finden.
Der Test findet in einer PayPal-Simulation statt. Nach initialisieren einer PayPal Zahlung wird der Käufer auf eine Simulationsseite weitergeleitet. Hier kann ausgewählt werden, ob die PayPal Transaktion erfolgreich oder nicht erfolgreich ist.
Transaktionsausgang
ResultCode | Antwortcode | Hinweis |
---|---|---|
4000 | erfolgreiche Transaktion | Eine erfolgreiche Transaktion wird nach drücken des Buttons „Finish as a successful transaction“ausgelöst |
4900 | nicht erfolgreiche Transaktion | Eine erfolglose Transaktion wird nach drücken des Buttons „Finish as a failed transaction“ ausgelöst |
Wie im Workflow dargestellt gibt es mehrere API-Aufrufe während einer PayPal Transaktion.
Im Folgenden werden die API-Felder und Aufrufe näher erleutert.
Durch eine erfolgreiche Initialisierung wird eine Referenznummer erstellt sowie eine Weiterleitungs-URL (redirect) an den Händler übermittelt. 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.
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 PayPal Projekts |
projectId | Ja | integer | Projekt-ID eines PayPal Projekts |
merchantTxId | Ja | String(255) | Eindeutige Transaktions-ID des Händlers |
amount | Ja | Integer | Betrag in Cent |
currency | Ja | String(3) | Währung der Transaktion EUR = Euro |
purpose | Ja | String(27) | Verwendungszweck der PayPal Transaktion |
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 "urlRedirect=http://www.my-domain.de/girocheckout/redirect" \ -d "urlNotify=http://www.my-domain.de/girocheckout/notify" \ -d "hash=19a1f2dae3e6fccc37ea29e025ebfb1a" \ 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 eine redirectURL zum PayPal Formular 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 zu PayPal |
HEADER Parameter | |||
hash | Ja | String | HMAC MD5 hash über alle Werte der Rückmeldung. Siehe hash der Rückantwort |
hash : 43bcc298c042d657506c25bd90812750
{"reference":"a79985f0-004e-4823-9de4-54fcb45fab37","redirect":"https://payment.girosolution.de/payment/services/paypal/simulate/1196312","rc":"0","msg":""}
hash : f826b7b320bf0115722cc3276319b0a8
{"reference":null,"redirect":null,"rc":5030,"msg":"Betrag ungültig"}
Der Ausgang einer 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 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 |