Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
girocheckout:creditcard_3ds2:start [2020/12/19 02:14] michaelheumann gelöscht |
— (aktuell) | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ~~NOCACHE~~ | ||
- | ====== Kreditkarte 3D Secure 2.0 ====== | ||
- | |||
- | **Dies ist die künftige Version der Kreditkarten-API, | ||
- | |||
- | Betroffen sind vor allem die Felder, deren Namen mit " | ||
- | |||
- | <WRAP center round info 70%> | ||
- | Die Parameter bzgl. 3-D Secure 2.0 können sich aufgrund von Änderungen der EMVCo 3-D Secure-Spezifikation ändern. | ||
- | </ | ||
- | |||
- | |||
- | ===== Testdaten ===== | ||
- | {{page> | ||
- | |||
- | ===== Transaktionstypen ===== | ||
- | Detaillierte Informationen zu den [[girocheckout: | ||
- | |||
- | ==== Reservierung (AUTH) ==== | ||
- | {{page> | ||
- | |||
- | <uml> | ||
- | left to right direction | ||
- | skinparam packageStyle rect | ||
- | |||
- | rectangle AUTH { | ||
- | (AUTH) --> (CAPTURE) | ||
- | (AUTH) --> (VOID ) | ||
- | (CAPTURE) --> (VOID ) | ||
- | (CAPTURE) --> (REFUND ) | ||
- | (REFUND ) --> (VOID ) | ||
- | } | ||
- | </ | ||
- | |||
- | ==== Verkauf (SALE) ==== | ||
- | {{page> | ||
- | |||
- | <uml> | ||
- | left to right direction | ||
- | skinparam packageStyle rect | ||
- | |||
- | rectangle SALE{ | ||
- | (SALE) --> (REFUND) | ||
- | (SALE) --> (VOID) | ||
- | (REFUND) --> (VOID) | ||
- | } | ||
- | </ | ||
- | |||
- | ===== Initialisierung einer Kreditkartenzahlung ===== | ||
- | 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, | ||
- | |||
- | Bereitzustellen von: GiroCheckout\\ | ||
- | Aufzurufen von: Händler\\ | ||
- | |||
- | ==== Workflow ==== | ||
- | |||
- | <uml> | ||
- | hide footbox | ||
- | |||
- | participant " | ||
- | participant " | ||
- | participant " | ||
- | participant " | ||
- | |||
- | autonumber | ||
- | |||
- | customer -> shop: | ||
- | shop -> girocheckout: | ||
- | girocheckout -> cc: | ||
- | cc -> girocheckout: | ||
- | girocheckout -> shop: | ||
- | shop -> customer: | ||
- | customer -> cc: | ||
- | cc -> customer: | ||
- | customer -> cc: | ||
- | cc -> cc: | ||
- | cc -> girocheckout: | ||
- | girocheckout -> shop | ||
- | shop -> shop: | ||
- | shop -> girocheckout: | ||
- | girocheckout -> cc: | ||
- | cc -> shop: | ||
- | |||
- | |||
- | center footer (c)2013 by GiroSolution AG | ||
- | </ | ||
- | |||
- | - Käufer wählt Zahlart Kreditkarte aus | ||
- | - Shop initiiert Kreditkartentransaktion ([[girocheckout: | ||
- | - GiroCheckout initialisiert Transaktion bei Kreditkartenabwickler | ||
- | - Kreditkartenabwickler übermittelt Ergebnis an GiroCheckout | ||
- | - Shop bekommt Rückmeldung über Initialisierungsausgang (bei Fehler ist Transaktion beendet) | ||
- | - Shop sendet Redirect URL an Kundenbrowser | ||
- | - Kundenbrowser leitet zum Kreditkartenabwickler weiter | ||
- | - Kreditkartenabwickler zeigt Zahlformular an | ||
- | - Kunde autorisiert Transaktion | ||
- | - Kreditkartenabwickler führt Transaktion durch | ||
- | - Kreditkartenabwickler übermittelt Ergebnis an GiroCheckout | ||
- | - GiroCheckout benachrichtigt Shop über Transaktionsausgang ([[girocheckout: | ||
- | - Shop verarbeitet Transaktionsausgang | ||
- | - Shop sendet HTTP Statuscode an GiroCheckout | ||
- | - GiroCheckout sendet Rücksprung zum Händler an Kreditkartenabwickler | ||
- | - Kunde klickt " | ||
- | |||
- | ===== API-Funktionen ===== | ||
- | |||
- | ==== Überblick ===== | ||
- | |||
- | 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, | ||
- | |||
- | - Transaktion initialisieren | ||
- | - 3D-Secure-Check (optional) | ||
- | - Benachrichtigung des Zahlungsergebnisses an den Händler | ||
- | - Zurückleitung des Käufers auf die Händlerseiten (ausgelöst durch Käufer) | ||
- | |||
- | ==== Reservierung/ | ||
- | |||
- | === POST Parameter === | ||
- | URL https:// | ||
- | |||
- | ^Name | ||
- | |merchantId | ||
- | |projectId | ||
- | |merchantTxId | ||
- | |amount | ||
- | |currency | ||
- | |purpose | ||
- | |type | ||
- | |locale | ||
- | |mobile | ||
- | |pkn |Optional |String(50) | ||
- | |recurring | ||
- | |urlRedirect | ||
- | |urlNotify | ||
- | |tds2Address |Optional |String | Für 3D Secure 2.0: Hauptadresszeile (i.d.R. Straße+Hausnummer) der Rechnungsadresse des Karteninhabers, | ||
- | |tds2Postcode |Optional |String | Für 3D Secure 2.0: Postleitzahl der Rechnungsadresse des Karteninhabers, | ||
- | |tds2City |Optional |String | Für 3D Secure 2.0: Ort der Rechnungsadresse des Karteninhabers, | ||
- | |tds2Country |Optional |String | Für 3D Secure 2.0: Land der Rechnungsadresse des Karteninhabers, | ||
- | |tds2Optional |Optional |String | Für 3D Secure 2.0: JSON-String, | ||
- | |hash | ||
- | |||
- | === 3D Secure 2.0 Optionale Felder (tds2Optional) === | ||
- | Hierbei handelt es sich um ein JSON-formatiertes Objekt, das hierarchisch aufgebaut ist (2 Ebenen) und die folgenden Unterobjekte enthält: | ||
- | |||
- | * billingAddress (Rechnungsadresse) | ||
- | * shippingddress (Lieferadresse) | ||
- | * homePhoneNumber (Telefon zuhause) | ||
- | * mobilePhoneNumber (Telefon mobil) | ||
- | * workPhoneNumber (Telefon Arbeit) | ||
- | * cardholderAccountInfo (Konteninformationen Karteninhaber) | ||
- | * tdsMerchantRiskIndicators (Risikoindikatoren des Händlers) | ||
- | * tdsRequestorAuthenticationInformation (Authentifizierungsinformationen des Anfragenden) | ||
- | * tdsTransactionAttributes (Transaktionsattribute) | ||
- | |||
- | Insgesamt gibt es folgende Feldern (alle optional, Felder in Unterobjekten sind mit [Unterobjektname].[Feld] dargestellt): | ||
- | |||
- | ^Name | ||
- | |email |String | E-Mail-Adresse des Karteninhabers, | ||
- | |addressesMatch |Boolean | ||
- | ^**// | ||
- | |billingAddress.line2 |String | Zeile 2 der Rechnungsadresse. Format A-Z, a-z, 0-9, Blank, [-/ | ||
- | |billingAddress.line3 |String | Zeile 3 der Rechnungsadresse. Format A-Z, a-z, 0-9, Blank, [-/ | ||
- | |billingAddress.state |String | Bundesland der Rechnungsadresse o.ä. Format A-Z, max. 3, Kürzel gemäß ISO 3166-2 | | ||
- | ^**// | ||
- | |shippingAddress.line1 |String | Zeile 1 der Lieferadresse. Format A-Z, a-z, 0-9, Blank, [-/ | ||
- | |shippingAddress.line2 |String | Zeile 2 der Lieferadresse. Format A-Z, a-z, 0-9, Blank, [-/ | ||
- | |shippingAddress.line3 |String | Zeile 3 der Lieferadresse. Format A-Z, a-z, 0-9, Blank, [-/ | ||
- | |shippingAddress.postcode |String |Postleitzahl der Lieferadresse, | ||
- | |shippingAddress.city |String | Ort der Lieferadresse, | ||
- | |shippingAddress.state |String | Bundesland der Lieferadresse o.ä. Format A-Z, max. 3, Kürzel gemäß ISO 3166-2 | | ||
- | |shippingAddress.country |String | Land der Lieferadresse, | ||
- | ^**// | ||
- | |homePhoneNumber.country |Integer | Ländervorwahl der Heim-Telefonnummer, | ||
- | |homePhoneNumber.regional |String | Rest der der Heim-Telefonnummer, | ||
- | ^**// | ||
- | |mobilePhoneNumber.country |Integer | Ländervorwahl der Mobil-Telefonnummer, | ||
- | |mobilePhoneNumber.regional |String | Rest der der Mobil-Telefonnummer, | ||
- | ^**// | ||
- | |workPhoneNumber.country |Integer | Ländervorwahl der Arbeits-Telefonnummer, | ||
- | |workPhoneNumber.regional |String | Rest der der Arbeits-Telefonnummer, | ||
- | ^**// | ||
- | |cardholderAccountInfo.accountAgeIndicator |String | Alter des Kundenkontos. Mögliche Werte: " | ||
- | |cardholderAccountInfo.passwordChangeIndicator |String | Gibt an, wann das Passwort des Kundenkontos zuletzt geändert oder zurückgesetzt wurde. Mögliche Werte: " | ||
- | |cardholderAccountInfo.paymentAccountAgeIndicator |String | Gibt an, wann das Zahlungskonto des Kunden angelegt wurde. Mögliche Werte: " | ||
- | |cardholderAccountInfo.accountChange |String | Gibt an, wann das Kundenkonto im Shop zuletzt geändert wurde, z.B. Adressänderung oder neue Zahlungsdaten. Mögliche Werte: " | ||
- | |cardholderAccountInfo.shippingAddressAgeIndicator |String | Gibt an, wann der Kunde die aktuelle Lieferadresse zum ersten Mal benutzt hat. Mögliche Werte: " | ||
- | |cardholderAccountInfo.shippingNameIndicator |String | Gibt an, ob der Name des Karteninhabers und der Name der Lieferadresse identisch sind. Mögliche Werte: " | ||
- | |cardholderAccountInfo.suspiciousAccountActivity |Boolean | Gibt an, ob für diesen Kunden verdächtige Aktivitäten beobachtet wurden. Mögliche Werte: " | ||
- | |cardholderAccountInfo.provisioningDayCount |Integer | Anzahl der "Karte hinzufügen" | ||
- | ^**// | ||
- | |tdsMerchantRiskIndicators.deliveryTimeframe |String | Zeitraum, in dem die Ware an den Kunden geliefert wird. Mögliche Werte: " | ||
- | |tdsMerchantRiskIndicators.deliveryEmailAddress |String | Liefer-E-Mail-Adresse des Kunden im Fall einer elektronischen Lieferung. Format A-Z, a-z, 0-9, [_.+-@], max. 254. | | ||
- | |tdsMerchantRiskIndicators.giftCardAmount |Integer | Betrag der Geschenkkarte in größter Währungseinheit, | ||
- | |tdsMerchantRiskIndicators.giftCardCount |Integer | Anzahl der gekauften Geschenkkarten. Format 0-9, max. 2. | | ||
- | |tdsMerchantRiskIndicators.giftCardCurrency |Integer | Währungscode der Geschenkkarte gemäß ISO 4217. Format A-Z, max. 3. | | ||
- | |tdsMerchantRiskIndicators.preOrderDate |Date | Im Fall einer Vorbestellung: | ||
- | |tdsMerchantRiskIndicators.preOrderPurchaseIndicator |String | Mögliche Werte: " | ||
- | |tdsMerchantRiskIndicators.reorderItemsIndicator |String | Gibt an, ob der Kunde Artikel bereits zuvor bestellt hat. Mögliche Werte: " | ||
- | |tdsMerchantRiskIndicators.shippingIndicator |String | Gibt an, wohin die Ware geliefert wird. Mögliche Werte: " | ||
- | ^**// | ||
- | |tdsRequestorAuthenticationInformation.authenticationData |String | Authentifizierungsdaten des Kunden. Format A-Z, a-z, 0-9 [!"# | ||
- | |tdsRequestorAuthenticationInformation.authenticationTimestamp |DateTime | Datum und Uhrzeit, wann sich der Kunde im Shop authentifiziert hat. Format JJJJ-MM-TTTHH: | ||
- | |tdsRequestorAuthenticationInformation.authenticationMethod |String | Gibt an, wie sich der Kunde in Ihrem Shop authentifiziert hat. Mögliche Werte: " | ||
- | ^**// | ||
- | |tdsTransactionAttributes.purchaseInstalmentData |Integer | Maximal erlaubte Anzahl von Autorisierungen bei Ratenzahlungen. Format 0-9, max. 3, Wert muss > 1 sein. | | ||
- | |tdsTransactionAttributes.recurringExpiry |Date | Datum, nach dem keine weiteren Autorisierungen mehr stattfinden sollen. Format JJJJ-MM-TT. | | ||
- | |tdsTransactionAttributes.recurringFrequency |Integer | Minimale Anzahl von Tagen zwischen zwei Autorisierungen. Format 0-9, max. 4. | | ||
- | |tdsTransactionAttributes.type |String | Art der 3-D Secure 2.0 Zahlung. Mögliche Werte: " | ||
- | |||
- | == Beispiel eines tds2Optional-Strings (zu Demonstrationszwecken formatiert, sollte normalerweise in einer Zeile angegeben werden) == | ||
- | < | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | }, | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | }, | ||
- | " | ||
- | " | ||
- | " | ||
- | }, | ||
- | " | ||
- | " | ||
- | " | ||
- | }, | ||
- | " | ||
- | " | ||
- | " | ||
- | }, | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | }, | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | }, | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | }, | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | == Beispiel einer Transaktionsinitialisierung == | ||
- | {{page> | ||
- | |||
- | === Antwort === | ||
- | Die Antwort besteht aus einem JSON Objekt. Das Feld rc liefert einen Fehlercode zurück. Wird rc = 0 zurückgeliefert, | ||
- | |||
- | == Parameter == | ||
- | ^Name | ||
- | |rc | ||
- | |msg |Ja | ||
- | |reference | ||
- | |redirect | ||
- | ^HEADER Parameter^^^^ | ||
- | |hash | ||
- | |||
- | == Beispiel im Erfolgsfall == | ||
- | {{page> | ||
- | |||
- | == Beispiel im Fehlerfall == | ||
- | {{page> | ||
- | |||
- | |||
- | ==== Benachrichtigung über den Zahlungsausgang ==== | ||
- | |||
- | Der Ausgang einer Zahlung wird an die im // | ||
- | |||
- | Der Zahlungsausgang einer Transaktion steht im Feld gcResultPayment. | ||
- | |||
- | === Anfrage === | ||
- | **URL:** notifyUrl aus der Transaktionsinitialisierung \\ | ||
- | **Bereitzustellen von:** Händler \\ | ||
- | **Aufzurufen von:** GiroCheckout | ||
- | |||
- | === GET Parameter === | ||
- | ^Name | ||
- | |gcReference | ||
- | |gcMerchantTxId | ||
- | |gcBackendTxId | ||
- | |gcAmount | ||
- | |gcCurrency | ||
- | |gcResultPayment | ||
- | |gcHash | ||
- | |||
- | === Antwort === | ||
- | Als Antwort auf den GET-Request wird einer der folgenden HTTP Statuscodes erwartet. | ||
- | |||
- | ^HTTP Statuscode | ||
- | |200 (OK) |Die Benachrichtigung wurde korrekt verarbeitet. | | ||
- | |400 (Bad Request) | ||
- | |Alle anderen | ||
- | |||
- | ==== 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 | ||
- | |gcReference | ||
- | |gcMerchantTxId | ||
- | |gcBackendTxId | ||
- | |gcAmount | ||
- | |gcCurrency | ||
- | |gcResultPayment | ||
- | |gcHash | ||
- | |||
- | |||
- | ===== Weitere Transaktionsarten ===== | ||
- | 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 \\ | ||
- | |||
- | ==== Workflow ==== | ||
- | |||
- | <uml> | ||
- | hide footbox | ||
- | |||
- | participant " | ||
- | participant " | ||
- | participant " | ||
- | |||
- | autonumber | ||
- | |||
- | shop -> girocheckout: | ||
- | girocheckout -> cc: | ||
- | cc -> girocheckout: | ||
- | girocheckout -> shop: | ||
- | |||
- | center footer (c)2016 by GiroSolution AG | ||
- | </ | ||
- | |||
- | - Shop sendet referenzierende Kreditkartentransaktion | ||
- | - GiroCheckout leitet Transaktion zu Kreditkartenabwickler | ||
- | - Kreditkartenabwickler übermittelt Ergebnis an GiroCheckout | ||
- | - Shop bekommt Rückmeldung über Transaktionsausgang ([[girocheckout: | ||
- | |||
- | ==== Buchung (CAPTURE) ==== | ||
- | {{page> | ||
- | |||
- | ==== Erstattung (REFUND) ==== | ||
- | {{page> | ||
- | |||
- | === POST Parameter === | ||
- | URL CAPTURE: https:// | ||
- | URL REFUND: https:// | ||
- | |||
- | ^Name | ||
- | |merchantId | ||
- | |projectId | ||
- | |merchantTxId | ||
- | |amount | ||
- | |currency | ||
- | |purpose | ||
- | |reference | ||
- | |hash | ||
- | |||
- | == Beispiel == | ||
- | {{page> | ||
- | |||
- | === Antwort === | ||
- | Die Antwort besteht aus einem JSON Objekt. Das Feld rc liefert einen Fehlercode zurück. Wird rc = 0 zurückgeliefert, | ||
- | |||
- | == Parameter == | ||
- | ^Name | ||
- | |rc | ||
- | |msg |Ja | ||
- | |reference | ||
- | |referenceParent | ||
- | |merchantTxId | ||
- | |backendTxId | ||
- | |amount | ||
- | |currency | ||
- | |resultPayment | ||
- | |hash | ||
- | |||
- | == Beispiel im Erfolgsfall == | ||
- | {{page> | ||
- | |||
- | == Beispiel im Fehlerfall == | ||
- | {{page> | ||
- | |||
- | ==== Stornierung (VOID) ==== | ||
- | {{page> | ||
- | |||
- | === POST Parameter === | ||
- | URL VOID: https:// | ||
- | |||
- | ^Name | ||
- | |merchantId | ||
- | |projectId | ||
- | |merchantTxId | ||
- | |reference | ||
- | |hash | ||
- | |||
- | == Beispiel == | ||
- | {{page> | ||
- | |||
- | === Antwort === | ||
- | Die Antwort besteht aus einem JSON Objekt. Das Feld rc liefert einen Fehlercode zurück. Wird rc = 0 zurückgeliefert, | ||
- | |||
- | == Parameter == | ||
- | ^Name | ||
- | |rc | ||
- | |msg |Ja | ||
- | |reference | ||
- | |referenceParent | ||
- | |merchantTxId | ||
- | |backendTxId | ||
- | |amount | ||
- | |currency | ||
- | |resultPayment | ||
- | |hash | ||
- | |||
- | == Beispiel im Erfolgsfall == | ||
- | {{page> | ||
- | |||
- | == Beispiel im Fehlerfall == | ||
- | {{page> | ||
- | |||
- | ===== Pseudo-Kartennummer (PKN) ===== | ||
- | <WRAP center round important 60%> | ||
- | 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, | ||
- | |||
- | ==== Pseudo-Kartennummer Informationen abfragen ==== | ||
- | Durch diese Funktion werden PKN-Informationen bereitgestellt. Sie liefert als Ergebnis eine PKN sowie die hinterlegten Kreditkarteninformationen (maskierte Kreditkartennummer, | ||
- | |||
- | **URL:** https:// | ||
- | **Bereitzustellen von:** GiroCheckout \\ | ||
- | **Aufzurufen von:** Händler | ||
- | |||
- | ==== POST Parameter ==== | ||
- | ^Name | ||
- | |merchantId | ||
- | |projectId | ||
- | |reference | ||
- | |hash | ||
- | |||
- | == Beispiel == | ||
- | {{page> | ||
- | |||
- | ==== Antwort ==== | ||
- | Die Antwort besteht aus einem JSON Objekt. Das Feld rc liefert einen Fehlercode zurück. Wird rc = 0 zurückgeliefert, | ||
- | |||
- | == Parameter == | ||
- | ^Name | ||
- | |rc | ||
- | |msg |Ja | ||
- | |pkn |Ja | ||
- | |cardnumber | ||
- | |expiremonth | ||
- | |expireyear | ||
- | ^HEADER Parameter^^^^ | ||
- | |hash | ||
- | |||
- | == Beispiel im Erfolgsfall == | ||
- | {{page> | ||
- | |||
- | == Beispiel im Fehlerfall == | ||
- | {{page> | ||
- | |||
- | ===== Durchführen einer wiederkehrenden Kreditkartenzahlung (recurring payment) ===== | ||
- | |||
- | Die Transaktionsdaten werden übermittelt und das Ergebnis der Kreditkartenzahlung wird umgehend zurückgeliefert. Diese Funktion wird für wiederkehrende Kreditkartenzahlungen, | ||
- | |||
- | Folgende Schritte sind durchzuführen, | ||
- | |||
- | - Normale Kreditkartentransaktion durchführen (s. [[# | ||
- | - Pseudokartennummer (PKN) ermitteln (s. [[# | ||
- | - Diese PKN speichern | ||
- | - Bei der nächsten wiederkehrenden Zahlung, eine Payment-Transaktion initialisieren (Endpoint beachten, s. [[# | ||
- | |||
- | ===== Recurring Transaktion ===== | ||
- | |||
- | Um eine wiederkehrende (recurring) Zahlung ohne Kundenintervention durchzuführen, | ||
- | |||
- | ==== POST Parameter ==== | ||
- | URL https:// | ||
- | |||
- | ^Name | ||
- | |merchantId | ||
- | |projectId | ||
- | |merchantTxId | ||
- | |amount | ||
- | |currency | ||
- | |purpose | ||
- | |type | ||
- | |pkn |Optional |String(50) | ||
- | |recurring | ||
- | |urlNotify | ||
- | |hash | ||
- | |||
- | == Beispiel == | ||
- | {{page> | ||
- | |||
- | ==== Antwort ==== | ||
- | Die Antwort besteht aus einem JSON Objekt. Das Feld rc liefert einen Fehlercode zurück. Wird rc = 0 zurückgeliefert, | ||
- | |||
- | === Parameter === | ||
- | ^Name | ||
- | |rc | ||
- | |msg |Ja | ||
- | |reference | ||
- | |backendTxId | ||
- | |resultPayment | ||
- | ^HEADER Parameter^^^^ | ||
- | |hash | ||
- | |||
- | == Beispiel im Erfolgsfall == | ||
- | {{page> | ||
- | |||
- | == Beispiel im Fehlerfall == | ||
- | {{page> | ||