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:creditcard:start [2017/04/04 15:30] michaelheumann |
girocheckout:creditcard:start [2023/02/10 21:57] michaelheumann |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
~~NOCACHE~~ | ~~NOCACHE~~ | ||
====== Kreditkarte ====== | ====== Kreditkarte ====== | ||
- | Informationen | + | |
+ | ==== Hinweis | ||
+ | |||
+ | Seit dem 01.01.2021 ist das neue Sicherheitsverfahren für Kreditkartenzahlungen "3D Secure 2.0", das im Zuge von PSD2 eingeführt wurde, für alle Zahlungsanbieter Pflicht. Die vorliegende API-Beschreibung enthält die hierfür notwendigen Felder (beginnend 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 ===== | ===== Testdaten ===== | ||
{{page> | {{page> | ||
+ | |||
===== Transaktionstypen ===== | ===== Transaktionstypen ===== | ||
Zeile 114: | Zeile 122: | ||
|merchantId | |merchantId | ||
|projectId | |projectId | ||
- | |merchantTxId | + | |merchantTxId |
|amount | |amount | ||
|currency | |currency | ||
- | |purpose | + | |purpose |
|type | |type | ||
|locale | |locale | ||
Zeile 125: | Zeile 133: | ||
|urlRedirect | |urlRedirect | ||
|urlNotify | |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, | ||
+ | |kassenzeichen | ||
|hash | |hash | ||
- | == Beispiel == | + | === 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 | ||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | === SEPA-konforme Zeichen === | ||
+ | {{page> | ||
+ | |||
+ | === Beispiel einer Transaktionsinitialisierung === | ||
{{page> | {{page> | ||
Zeile 227: | Zeile 377: | ||
- Shop bekommt Rückmeldung über Transaktionsausgang ([[girocheckout: | - Shop bekommt Rückmeldung über Transaktionsausgang ([[girocheckout: | ||
- | ==== Buchung (CAPTURE) und Erstattung (REFUND) ==== | + | ==== Buchung (CAPTURE) ==== |
{{page> | {{page> | ||
+ | ==== Erstattung (REFUND) ==== | ||
{{page> | {{page> | ||
Zeile 239: | Zeile 390: | ||
|merchantId | |merchantId | ||
|projectId | |projectId | ||
- | |merchantTxId | + | |merchantTxId |
|amount | |amount | ||
|currency | |currency | ||
+ | |purpose | ||
|reference | |reference | ||
+ | |kassenzeichen | ||
|hash | |hash | ||
Zeile 279: | Zeile 432: | ||
|merchantId | |merchantId | ||
|projectId | |projectId | ||
- | |merchantTxId | + | |merchantTxId |
|reference | |reference | ||
|hash | |hash | ||
Zeile 372: | Zeile 525: | ||
|merchantId | |merchantId | ||
|projectId | |projectId | ||
- | |merchantTxId | + | |merchantTxId |
|amount | |amount | ||
|currency | |currency | ||
- | |purpose | + | |purpose |
|type | |type | ||
- | |pkn |Optional |String(50) | + | |pkn |Optional |String(50) |
|recurring | |recurring | ||
|urlNotify | |urlNotify | ||
+ | |kassenzeichen | ||
|hash | |hash | ||
Zeile 403: | Zeile 557: | ||
== Beispiel im Fehlerfall == | == Beispiel im Fehlerfall == | ||
{{page> | {{page> | ||
+ | |||
+ | |||
+ | ===== Senderinformationen abrufen ===== | ||
+ | Mit dieser Funktion können die Senderinformationen einer erfolgreich durchgeführten Transaktion abgerufen werden. Anhand der angegebenen Referenz wird Kontoinhaber, | ||
+ | |||
+ | === API-Aufruf === | ||
+ | **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. Wird **rc = 0** zurückgeliefert, | ||
+ | |||
+ | == JSON-Parameter == | ||
+ | ^Name | ||
+ | |rc | ||
+ | |msg |Ja | ||
+ | |accountholder | ||
+ | |pan |Optional |String | ||
+ | |expdate | ||
+ | |brand | ||
+ | ^HEADER Parameter^^^^ | ||
+ | |hash | ||
+ | |||
+ | == Beispiel im Erfolgsfall == | ||
+ | {{page> | ||
+ | |||
+ | == Beispiel im Fehlerfall == | ||
+ | {{page> | ||