APB-spezifisch
Diese Implementierung unterscheidet sich vom normalen Checkout wie folgt:
- Es gibt einen Parameter checkoutMode, der auf ProcessOrder gesetzt ist ‒ dieser Parameter existiert beim normalen Checkout nicht!
- Beim Verkauf physischer Produkte muss die Lieferadresse (shippingAddress) in der Anfrage gesendet werden
- Die Adresse des Nutzers für physische Waren unterscheidet sich je na Markt. Das ist wichtig, weil Amazon eine marktabhängige Validierung durchführt.
Diagramm zum Prozessablauf
Nutzung der Schaltfläche alleine, um eine Transaktion auszulösen.
Nutzung unserer HPP in Verbindung mit dem APB
Payload-Beispiel
{ "webCheckoutDetails": { "checkoutResultReturnUrl": "https://a.com/merchant-review-page", "checkoutMode": "ProcessOrder" }, "storeId": "amzn1.application-oa2-client.8b5e45312b5248b69eeaStoreId", "scopes": ["name", "email", "phoneNumber", "billingAddress"], "paymentDetails": { "paymentIntent": "AuthorizeWithCapture", "chargeAmount": { "amount": "10", "currencyCode": "USD" }, "presentmentCurrency":"USD" }, "merchantMetadata": { "merchantReferenceId":"Merchant-order-123", "merchantStoreName":"Merchant Store Name", "noteToBuyer":"Thank you for your order" }, "addressDetails": { "name": "Paul Smith", "addressLine1": "9999 First Avenue", "city": "New York", "stateOrRegion": "NY", "postalCode": "10016", "countryCode": "US", "phoneNumber": "212555555" } } { "storeId": "xxx", "webCheckoutDetails": { "checkoutResultReturnUrl": "https://merchant1/xxxxxxxx", "checkoutMode": "ProcessOrder" }, "paymentDetails": { "paymentIntent": "Confirm", "chargeAmount": { "amount": "1", "currencyCode": "JPY" } }, //recurring case "chargePermissionType": "Recurring", "recurringMetadata": { "frequency": { "unit": "Month", "value": "1" }, "amount": { "amount": "10", "currencyCode": "JPY" } }, "addressDetails": { "addressLine1": "%E7%9B%AE%E9%BB%92%E5%8C%BA%E4%B8%8B%E7%9B%AE%E9%BB%92", "addressLine2": "%EF%BC%91%EF%BC%8D%EF%BC%94%EF%BC%8D%EF%BC%91", "addressLine3": "%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%83%A9%E3%82%A4%E3%83%B3%EF%BC%93", "name": "%E5%90%8D%E5%89%8D%E3%80%80%E3%83%86%E3%82%B9%E3%83%88%EF%BC%91%EF%BC%92%EF%BC%93", "countryCode": "JP", "postalCode": "1560064", "phoneNumber": "0333333333" } }
Schaltfläche Amazon Pay integrieren
Der folgende Beispiel-Code zeigt, wie Sie die Schaltfläche Amazon Pay in Ihren Webshop integrieren.
Wenn der Kunde auf diese Schaltfläche klickt, rufen Sie das Paygate auf, um zusätzliche Daten zu erhalten, die für die Aktualisierung der Schaltfläche Amazon Pay nötig sind.
<div id="AmazonPayButton"></div> <script src="https://static-na.payments-amazon.com/checkout.js"></script> <script type="text/javascript" charset="utf-8"> var amazonPayButton = amazon.Pay.renderButton('#AmazonPayButton', { merchantId: 'xxxxx', ledgerCurrency: 'EUR', checkoutLanguage: 'en_GB', productType: 'PayAndShip', placement: 'Cart', buttonColor: 'Gold' }); </script>
Schaltfläche
In diesem Fall müssen folgende Parameter in der Schaltfläche vorhanden sein:
Parameter | Beschreibung | Wert |
---|---|---|
merchantId | Von Amazon vergebene SellerId | |
ledgerCurrency | Ihre Hauptbuchwährung. Für EU/UK-Konten kann eine andere Darstellungswährung für die Authentifizierung/Buchung verwendet werden. | Zulässige Werte:
|
placement | Platzierung der Schaltfläche | Zulässige Werte: Cart |
buttonColor | Der Parameter buttonColor definiert die Farbe der Schaltfläche | Zulässige Werte: Gold, LightGray, DarkGray |
productType | Der Parameter productType definiert, ob die Transaktion für physische oder digitale Güter erfolgt. Der Standardwert ist PayAndShip. | Zulässige Werte:
|
checkoutLanguage | Der Parameter checkoutLanguage ist option, um die Sprache im Checkout-Prozcess festzulegen. Das ist insbesondere in einer mehrsprachigen Shopumgebung hilfreich. Ohne Angabe des Sprach-Parameters verwendet Amazon automatisch die am besten geeignete Sprache für den Checkout. | Zulässige Werte:
|
Weitere Informationen finden Sie in der Dokumentation von Amazon Pay.
Amazon Pay Schnittstelle initialisieren
Um eine Zahlung mit Amazon Pay zu initialisieren, verwenden Sie bitte folgende URL:
https://www.computop-paygate.com/amazonAPA.aspx |
Hinweis: Aus Sicherheitsgründen lehnt das Paygate alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp. Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:
Verschlüsselte Parameter zum Initialisieren einer Zahlung mit Amazon Pay
Zwischenantwort mit zusätzlichen Parametern der Schaltfläche
Die folgende Tabelle beschreibt die Parameter, die das Paygate als Antwort zurückgibt: es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden
Antwortparameter nach dem Initialisieren einer Zahlung mit Amazon Pay
Der folgende Beispielcode zeigt die aktualisierte und vollständige Amazon-Pay-Schaltfläche, die den Kunden zu Amazon weiterleitet
<div id="AmazonPayButton"></div>
<script src="https://static-na.payments-amazon.com/checkout.js"></script>
<script type="text/javascript" charset="utf-8">
var amazonPayButton = amazon.Pay.renderButton('#AmazonPayButton', {
merchantId: 'xxxxx',
ledgerCurrency: 'EUR',
checkoutLanguage: 'en_GB',
productType: 'PayAndShip',
placement: 'Cart',
buttonColor: 'Gold'
});
amazonPayButton.onClick(function(){
// Here you need to call your shop server, which creates the initial Call towards Paygate
// and then returns the required data payloadJSON, signature, publicKeyId from the response
var buttonData = getSignedButtonData()
amazonPayButton.initCheckout({
createCheckoutSessionConfig: {
payloadJSON: buttonData.payloadJSON,
signature: buttonData.signature,
publicKeyId: buttonData.publicKeyId
}
});
</script>
Adressprüfung
Da die Adresse vom Händler für APB gesendet werden soll und wir verschiedene Märkte unterstützen, wird das Folgende validiert.
EU (einschließlich UK)
- EU-Adressprüfungen gelten, wenn countryCode einen der folgenden Werte hat:
'UK' ,'GB' ,'DE' ,'FR' ,'IT' ,'ES' ,'AT' ,'BE' ,'BG' ,'HR' ,'CY' ,'CZ' ,'DK' ,'EE' ,'FI' ,'GR' ,'HU' ,'IE' ,'LV' ,'LT' ,'LU' ,'MT' ,'NL' ,'PL' ,'PT' ,'RO' ,'SK' ,'SI' ,'SE'
JP
US
- In die 9-stellige US-Postleitzahl wird eine Bindestrich eingefügt (zum Beispiel: 98104 - 3442)