Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste Überarbeitung Beide Seiten der Revision | ||
girocheckout:giropay:start [2019/09/03 17:47] michaelheumann |
girocheckout:giropay:start [2023/11/16 20:57] michaelheumann |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
~~NOCACHE~~ | ~~NOCACHE~~ | ||
- | ====== giropay | + | ====== giropay ====== |
- | + | ||
- | Informationen zu giropay sind unter https:// | + | |
giropay kann **ausschließlich** mit der Währung **EURO** verwendet werden. | giropay kann **ausschließlich** mit der Währung **EURO** verwendet werden. | ||
- | Bitte verwenden Sie für Tests ausschließlich das giropay | + | |
+ | <WRAP center round info 80%> | ||
+ | **Wichtiger Hinweis** \\ | ||
+ | In den nächsten Monaten stellen wir voraussichtlich schrittweise unsere Unterstützung | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | <WRAP center round info 80%> | ||
+ | **Änderung an der API** \\ | ||
+ | Folgende Änderung an der API wird in diesen Tagen durchgeführt: | ||
+ | Der Parameter merchantReconciliationReferenceNumber wird ersetzt durch merchantOrderReferenceNumber, | ||
+ | </ | ||
===== Testdaten giropay ===== | ===== Testdaten giropay ===== | ||
- | {{page> | + | {{page> |
===== Workflow ===== | ===== Workflow ===== | ||
Zeile 25: | Zeile 36: | ||
customer -> shop: | customer -> shop: | ||
- | shop -> girocheckout: | ||
- | girocheckout -> shop: | ||
shop -> girocheckout: | shop -> girocheckout: | ||
girocheckout -> giropay: | girocheckout -> giropay: | ||
Zeile 32: | Zeile 41: | ||
girocheckout -> shop: | girocheckout -> shop: | ||
shop -> customer: | shop -> customer: | ||
- | customer -> bank: | + | customer |
+ | giropay | ||
bank -> customer: | bank -> customer: | ||
customer -> bank: | customer -> bank: | ||
Zeile 45: | Zeile 55: | ||
- | center footer (c)2013 by GiroSolution AG | + | center footer (c)2022 by GiroSolution AG |
</ | </ | ||
- | - Käufer/ | + | - Käufer/ |
- | - Shop prüft Bankstatus ([[girocheckout: | + | - Shop initiiert giropay Transaktion ([[girocheckout: |
- | - Shop bekommt Rückmeldung, | + | |
- | - Shop initiiert giropay/ | + | |
- GiroCheckout initialisiert Transaktion bei giropay | - GiroCheckout initialisiert Transaktion bei giropay | ||
- giropay übermittelt Ergebnis an GiroCheckout | - giropay übermittelt Ergebnis an GiroCheckout | ||
- Shop bekommt Rückmeldung über Initialisierungsausgang (bei Fehler ist Transaktion beendet) | - Shop bekommt Rückmeldung über Initialisierungsausgang (bei Fehler ist Transaktion beendet) | ||
- Shop sendet Redirect URL an Käufer-/ | - Shop sendet Redirect URL an Käufer-/ | ||
- | - Käufer-/ | + | - Käufer-/ |
+ | - giropay leitet dann an das Online-Banking | ||
- Online-Banking zeigt Loginseite an | - Online-Banking zeigt Loginseite an | ||
- Käufer/ | - Käufer/ | ||
Zeile 72: | Zeile 81: | ||
==== Übersicht ===== | ==== Übersicht ===== | ||
- | Wie im Workflow dargestellt, | + | Wie im Workflow dargestellt, |
- | - Bankstatus prüfen | ||
- Transaktion initiieren | - Transaktion initiieren | ||
- Bezahlinformation an Händler übermitteln | - Bezahlinformation an Händler übermitteln | ||
- | - Bezahlinformation mit Käuferbrowserweiterleitung zurück zum Händler (durch Käufer nach Zahlung ausgelöst) | + | - 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 | + | Im Folgenden werden die API-Felder und Aufrufe näher |
- | + | ||
- | ==== Bankstatus prüfen ==== | + | |
- | **Dieser Aufruf sollte nicht mehr verwendet werden, alle giropay-Transaktionen werden jetzt mit einer externen Bankenabfrage durchgeführt!** | + | |
- | + | ||
- | 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:// | + | |
- | **Bereitzustellen von:** GiroCheckout \\ | + | |
- | **Aufzurufen von:** Händler | + | |
- | + | ||
- | == POST-Parameter == | + | |
- | ^Name | + | |
- | |merchantId | + | |
- | |projectId | + | |
- | |bic |Ja | + | |
- | |hash | + | |
- | + | ||
- | == Beispiel == | + | |
- | {{page> | + | |
- | + | ||
- | === Antwort === | + | |
- | Die Antwort besteht aus einem JSON Objekt. Das Feld rc liefert einen Fehlercode. Wird **rc = 0** zurückgeliefert, | + | |
- | + | ||
- | == JSON-Parameter == | + | |
- | ^Name | + | |
- | |rc | + | |
- | |msg |Ja | + | |
- | |bankcode | + | |
- | |bic |Optional |String | + | |
- | |bankname | + | |
- | |giropay | + | |
- | |giropayid | + | |
- | ^HEADER Parameter^^^^ | + | |
- | |hash | + | |
- | + | ||
- | == Beispiel im Erfolgsfall == | + | |
- | {{page> | + | |
- | + | ||
- | == Beispiel im Fehlerfall == | + | |
- | {{page> | + | |
- | + | ||
- | ==== giropay Bankenabfrage ==== | + | |
- | **Dieser Aufruf sollte nicht mehr verwendet werden, alle giropay-Transaktionen werden jetzt mit einer externen Bankenabfrage durchgeführt!** | + | |
- | + | ||
- | Gibt eine Liste zurück, welche alle giropay Banken enthält. Aus dieser Bankenliste muss der Käufer seine Bank auswählen. | + | |
- | + | ||
- | **URL:** https:// | + | |
- | **Bereitzustellen von:** GiroSolution AG \\ | + | |
- | **Aufzurufen von:** Händler | + | |
- | + | ||
- | == POST Parameter == | + | |
- | ^Name | + | |
- | |merchantId | + | |
- | |projectId | + | |
- | |hash | + | |
- | + | ||
- | == Beispiel == | + | |
- | {{page> | + | |
- | + | ||
- | === 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 | + | |
- | |rc | + | |
- | |msg |Ja | + | |
- | |issuer | + | |
- | ^HEADER Parameter^^^^ | + | |
- | |hash | + | |
- | + | ||
- | == Beispiel == | + | |
- | {{page> | + | |
==== Initialisierung einer giropay Zahlung ==== | ==== 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, | 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, | ||
Zeile 167: | Zeile 100: | ||
== POST Parameter == | == POST Parameter == | ||
- | ^Name | + | ^Name |
- | ^ | + | |merchantId |
- | |merchantId | + | |projectId |
- | |projectId | + | |merchantTxId |
- | |merchantTxId | + | |amount |
- | |amount | + | |currency |
- | |currency | + | |purpose |
- | |purpose | + | |shoppingCartType |
- | |bic | + | |shippingAddresseFirstName |(s. Beschr.) |
- | |iban |Optional |Optional |Optional | + | |shippingAddresseLastName |
- | |info1Label|Optional |Optional | + | |shippingCompany |
- | |info1Text |Optional |Optional | + | |shippingAdditionalAddressInformation |
- | |info2Label|Optional |Optional | + | |shippingStreet |
- | |info2Text |Optional |Optional | + | |shippingStreetNumber |
- | |info3Label|Optional | + | |shippingZipCode |
- | |info3Text | + | |shippingCity |
- | |info4Label|Optional |Optional |Optional | + | |shippingCountry |
- | |info4Text |Optional |Optional | + | |shippingEmail |
- | |info5Label|Optional |Optional | + | |merchantOrderReferenceNumber |
- | |info5Text |Optional |Optional | + | |cart |Optional |
- | |urlRedirect | + | |deliveryType |
- | |urlNotify | + | |urlRedirect |
- | |hash |Ja | + | |urlNotify |
- | + | |kassenzeichen | |
- | + | |giropayCustomerId | |
- | <WRAP center round info 60%> | + | |hash |
- | 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. | + | |
- | </ | + | |
Zeile 206: | Zeile 137: | ||
^Name | ^Name | ||
|rc | |rc | ||
- | |msg |Ja | + | |msg |Ja |
- | |reference | + | |reference |
- | |redirect | + | |redirect |
^HEADER Parameter^^^^ | ^HEADER Parameter^^^^ | ||
- | |hash | + | |hash |
== Beispiel im Erfolgsfall == | == Beispiel im Erfolgsfall == | ||
Zeile 217: | Zeile 148: | ||
== Beispiel im Fehlerfall == | == Beispiel im Fehlerfall == | ||
{{page> | {{page> | ||
+ | |||
+ | ==== SEPA-konforme Zeichen ==== | ||
+ | {{page> | ||
+ | |||
+ | === cart-Element === | ||
+ | JSON Array mit item Objekten | ||
+ | |||
+ | ^Name | ||
+ | |name | ||
+ | |ean |Optional | ||
+ | |quantity | ||
+ | |grossAmount | ||
+ | |||
+ | == Beispiel == | ||
+ | < | ||
+ | [ { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } ] | ||
+ | </ | ||
==== Benachrichtigung über den Zahlungsausgang ==== | ==== Benachrichtigung über den Zahlungsausgang ==== | ||
- | Der Ausgang einer giropay Zahlung wird, an die im // | + | Der Ausgang einer giropay-Zahlung wird an die im // |
- | Der Zahlungausgang der giropay Transaktion steht im Feld gcResultPayment. Wurde zusätzlich die giropay-ID Überprüfung angefordert, | + | Der Zahlungausgang der giropay Transaktion steht im Feld gcResultPayment. |
- | Aufgrund | + | Am Ende des Bezahlvorganges auf giropay-Seite |
Zeile 233: | Zeile 190: | ||
== GET Parameter == | == GET Parameter == | ||
- | ^Name | + | ^Name |
- | ^ | + | |gcReference |
- | |gcReference | + | |gcMerchantTxId |
- | |gcMerchantTxId | + | |gcBackendTxId |
- | |gcBackendTxId | + | |gcAmount |
- | |gcAmount | + | |gcCurrency |
- | |gcCurrency | + | |gcResultPayment |
- | |gcResultPayment | + | |gcHash |
- | |gcResultAVS | + | |
- | |gcObvName | + | |
- | |gcHash | + | |
=== Antwort === | === Antwort === | ||
Zeile 254: | Zeile 208: | ||
==== Rückleitung des Kunden zum Händler ==== | ==== Rückleitung des Kunden zum Händler ==== | ||
- | Nach Beendigung der giropay Zahlung kann der Kunde über einen Link zurück zum Händler kommen. | + | Nach Beendigung der giropay Zahlung kann der Kunde über einen Link zurück zum Händler kommen. |
=== Anfrage === | === Anfrage === | ||
Zeile 264: | Zeile 218: | ||
^Name | ^Name | ||
^ | ^ | ||
- | |gcReference | + | |gcReference |
- | |gcMerchantTxId | + | |gcMerchantTxId |
- | |gcBackendTxId | + | |gcBackendTxId |
|gcAmount | |gcAmount | ||
- | |gcCurrency | + | |gcCurrency |
- | |gcResultPayment | + | |gcResultPayment |
- | |gcResultAVS | + | |gcHash |
- | |gcObvName | + | |
- | |gcHash | + | |
===== Senderinformationen abrufen ===== | ===== Senderinformationen abrufen ===== | ||
Zeile 298: | Zeile 250: | ||
^Name | ^Name | ||
|rc | |rc | ||
- | |msg |Ja | + | |msg |Ja |
- | |accountholder | + | |accountholder |
- | |iban | + | |iban |
- | |bic |Optional |String | + | |bic |Optional |String(11) |
^HEADER Parameter^^^^ | ^HEADER Parameter^^^^ | ||
- | |hash | + | |hash |
== Beispiel im Erfolgsfall == | == Beispiel im Erfolgsfall == | ||
Zeile 310: | Zeile 262: | ||
== Beispiel im Fehlerfall == | == Beispiel im Fehlerfall == | ||
{{page> | {{page> | ||
- | |||
- | ===== Bankauswahl Widget ===== | ||
- | {{page> | ||