Benutzer-Werkzeuge

Webseiten-Werkzeuge


Übersetzungen dieser Seite:
girocheckout:paypal:start

PayPal

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

Testdaten

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

Workflow

PlantUML Graph

  1. Käufer wählt Zahlart PayPal aus
  2. Shop initiiert PayPal-Zahlung (Initialisierung)
  3. GiroCheckout initialisiert Transaktion bei PayPal
  4. PayPal übermittelt Ergebnis an GiroCheckout
  5. Shop bekommt Rückmeldung über Initialisierungsausgang (bei Fehler ist Transaktion beendet)
  6. Shop sendet Redirect URL an Kundenbrowser
  7. Kundenbrowser leitet zu PayPal weiter
  8. PayPal zeigt Zahlformular an
  9. Kunde autorisiert Transaktion
  10. PayPal führt Transaktion durch
  11. PayPal übermittelt Ergebnis an GiroCheckout
  12. GiroCheckout benachrichtigt Shop über Transaktionsausgang (Banachrichtigung)
  13. Shop verarbeitet Transaktionsausgang
  14. Shop sendet HTTP Statuscode an GiroCheckout
  15. GiroCheckout sendet Rücksprung zum Händler an PayPal
  16. Kunde klickt „Zurück zum Shop“ (Rücksprung)

API-Funktionen

Übersicht

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

  1. Transaktion initiieren
  2. PayPal Bezahlung durchführen
  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.

Initialisierung einer PayPal Zahlung

Durch eine erfolgreiche Initialisierung wird eine Referenznummer erstellt sowie ein Weiterleitunsurl (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.

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

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 eine redirectURL zum PayPal Formular zurück.

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 zu PayPal
HEADER Parameter
hash Ja String HMAC MD5 hash über alle Werte der Rückmeldung. Siehe hash der Rückantwort
Beispiel im Erfolgsfall

hash : 43bcc298c042d657506c25bd90812750

{"reference":"a79985f0-004e-4823-9de4-54fcb45fab37","redirect":"https://payment.girosolution.de/payment/services/paypal/simulate/1196312","rc":"0","msg":""}
Beispiel im Fehlerfall

hash : f826b7b320bf0115722cc3276319b0a8

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

Benachrichtigung über den Zahlungsausgang

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.

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

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 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, 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
girocheckout/paypal/start.txt · Zuletzt geändert: 2017/01/05 18:10 von michaelheumann

Seiten-Werkzeuge