Geltungsbereich

Die zusätzliche Zahlungsschaltfläche (APB) ist eine etwas andere Methode, um den Amazon Pay Checkout Cv2 zu nutzen. Diese Option kann mit einmaligen (OTP) oder wiederkehrenden Transaktionen verwendet werden.

Die Standardeinrichtung des Kontos bei Amazon erfolgt genau wie die reguläre Integration.

Die wesentlichen Unterschiede zur "normalen" Integration sind:

  • Die eingestellten Zahlungsinformationen (Belastungsbetrag, Gesamtbetrag & Zahlungsabsicht) erfolgen sofort innerhalb der Schalftfläche
  • Mit der Anfrage muss die Adresse für physische Waren gesendet werden
  • Bei digitalen Gütern sollen keine Adressdetails gesendet werden, das führt zu einem Fehler
  • Es gibt den Pflichtparameter "checkoutMode"

Auf dieser Seite


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:

ParameterBeschreibungWert

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:

  • US-Händler ‒ 'USD'
  • EU-Händler ‒ 'EUR'
  • UK-Händler ‒ 'GBP'
  • JP-Händler ‒ 'JPY'
placementPlatzierung 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:

  • PayAndShip ‒ physische Waren
  • PayOnly ‒ digitale Güter

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:

  • US-Händler ‒ 'en_US'
  • EU/UK-Händler ‒ 'en_GB', de_DE', 'fr_FR', 'it_IT', 'es_ES'
  • JP-Händler ‒ 'ja_JP'

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:


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:

Oops, it seems that you need to place a table or a macro generating a table within the Table Filter macro.

The table is being loaded. Please wait for a bit ...

KeyFormatCNDDescriptionBeschreibung

MerchantID

ans..30

M

MerchantID, assigned by Computop. Additionally this parameter has to be passed in plain language too.

HändlerID, die von Computop vergeben wird. Dieser Parameter ist zusätzlich auch unverschlüsselt zu übergeben.

KeyFormatCNDDescriptionBeschreibung
TransID

ans..64

MTransactionID provided by you which should be unique for each paymentIhre eigene TransaktionsID, die für jede Zahlung eindeutig sein muss

KeyFormatCNDDescriptionBeschreibung
refnr

ns..30

O

Merchant’s unique reference number

Eindeutige Referenznummer des Händlers

KeyFormatCNDDescriptionBeschreibung

MAC

an64

M
Hash Message Authentication Code (HMAC) with SHA-256 algorithm. Details can be found here:
Hash Message Authentication Code (HMAC) mit SHA-256-Algorithmus. Details finden Sie hier:

Key

Format

CND

Description

Beschreibung
CountryCodean2MCountry code of used marketplace. Options EU, UK, US and JP.Ländercode des verwendeten Marktplatzes. Optionen EU, UK, US und JP.

KeyFormatCNDDescriptionBeschreibung
Amount

n..10

M

Amount in the smallest currency unit (e.g. EUR Cent). Please contact the Computop Helpdesk, if you want to capture amounts <100 (smallest currency unit).

Betrag in der kleinsten Währungseinheit (z.B. EUR Cent). Bitte wenden Sie sich an den Computop Helpdesk, wenn Sie Beträge < 100 (kleinste Währungseinheit) buchen möchten.

KeyFormatCNDDescriptionBeschreibung
Currency

a3

M

Currency, three digits DIN / ISO 4217, e.g. EUR, USD, GBP. Please find an overview here: A1 Currency table

Währung, drei Zeichen DIN / ISO 4217, z.B. EUR, USD, GBP. Hier eine Übersicht: A1 Währungstabelle

Key

Format

CND

Description

Beschreibung
URLSuccessans..256MThe buyer is redirected to this URL if the Multi Factor Authentication was successfulDer Käufer wird zu dieser URL weitergeleitet, wenn die Multi-Faktor-Authentisierung erfolgreich war
URLFailureans..256MThe buyer is redirected to this URL if the Multi Factor Authentication was unsuccessfulDer Käufer wird zu dieser URL weitergeleitet, wenn die Multi-Faktor-Authentisierung nicht erfolgreich war

KeyFormatCNDDescriptionBeschreibung
URLNotify

ans..256

M

Complete URL which Paygate calls up in order to notify the shop about the payment result. The URL may be called up only via port 443. It may not contain parameters: Use the UserData parameter instead.

(info) Common notes:

  • We recommend to use parameter "response=encrypt" to get an encrypted response by Paygate
  • However, fraudster may just copy the encrypted DATA-element which are sent to URLFailure and send the DATA to URLSuccess/URLNotify. Therefore ensure to check the "code"-value which indicates success/failure of the action. Only a result of "code=00000000" should be considered successful.

Vollständige URL, die das Paygate aufruft, um den Shop zu benachrichtigen. Die URL darf nur über Port 443 aufgerufen werden. Sie darf keine Parameter enthalten: Nutzen Sie stattdessen den Parameter UserData.

(info) Allgemeine Hinweise:

  • Wir empfehlen, den Parameter "response=encrypt" zu verwenden, um eine verschlüsselte Antwort von Paygate zu erhalten
  • Betrüger könnten das verschlüsselte DATA-Element kopieren, welches an URLFailure gesendet wurde, und betrügerisch dasselbe DATA an URLSuccess/URLNotify senden. Überprüfen Sie daher unbedingt den "code"-Wert des DATA-Elements. Nur eine Antwort mit "code=00000000" sollte als erfolgreich angesehen werden.

Key

Format

CND

Description

Beschreibung
checkoutModean..12MProcessOrder – can be hardcoded for APB! Buyer will complete checkout on the Amazon Pay hosted page immediately after clicking on the Amazon Pay button.ProcessOrder – kann für APB fest codiert werden! Der Käufer schließt die Kaufabwicklung auf der von Amazon Pay gehosteten Seite sofort ab, nachdem er auf die Amazon-Pay-Schaltfläche geklickt hat.

ShopUrl

ans..256

M

Amazon=checkoutResultReturnUrlAmazon=checkoutResultReturnUrl
TxTypean..20C

Payment flow for charging the buyer. Supported values:

  • 'AuthorizeWithCapture' – Authorize and capture funds immediately, is default
  • 'Authorize' – Authorize funds immediately and capture at a later time

Zahlungsablauf für die Belastung des Käufers. Unterstützte Werte:

  • 'AuthorizeWithCapture' – Sofortiges Autorisieren und Einziehen von Geldern ist die Standardeinstellung
  • 'Authorize' – Gelder sofort autorisieren und zu einem späteren Zeitpunkt buchen
LocalCurrencya3CThe currency that the buyer will be charged in ISO 4217 format. In case of using multi-currency. Only possible for Amazon EU and UK markets.Die Währung, die dem Käufer in Rechnung gestellt wird, im ISO-4217-Format. Bei Verwendung mehrerer Währungen. Nur möglich für Amazon EU- und UK-Märkte.
Scopea..128O

The buyer details that you're requesting access to. Possible values:

  • "name"
  • "email"
  • "phoneNumber"
  • "billingAddress"

If not included, all buyer information is requested.

Die Käuferdetails, auf die Sie Zugriff anfordern. Mögliche Werte:

  • "name"
  • "email"
  • "phoneNumber"
  • "billingAddress"

Wenn nicht enthalten, werden alle Käuferinformationen angefordert.

ChDescans..16COnly for sale type transactions: AuthorizeWithCapture.
Default: "AMZ*<SELLER_NAME> pay.amazon.com"
Nur für Sale-Transaktionen: AuthorizeWithCapture.
Standardwert: "AMZ*<SELLER_NAME> pay.amazon.com"

OrderDesc

ans..127

O

Description of purchased goods, unit prices etc.Beschreibung der gekauften Waren, Einzelpreise usw.



Shipping address – conditions depend on the market, see belowLieferadresse – Bedingungen sind marktabhängig, siehe unten



Recurring MetadataRecurring Metadaten (wiederholte Zahlungen)
RTFans1OFor repeated payments (subscriptions): I = Initial payment of series of payments. Default is OTP, one time payment.Bei wiederholten Zahlungen (Abonnements): I = Erstzahlung einer Reihe von Zahlungen. Standard ist OTP, einmalige Zahlung.
cyclean..7CCycle. Supported values: 'Year', 'Month', 'Week', 'Day', 'Variable'Zyklus. Unterstützte Werte: 'Jahr', 'Monat', 'Woche', 'Tag', 'Variabel'
Valuen..4C

Number of frequency units per billing cycle. For example, to specify a weekly cycle set unit to Week and value to 1. You must set value to 0 if you're using variable unit.

  • year: 1-3
  • Month: 1-36
  • Week: 1-57
  • Day: 1-1095

Anzahl der Frequenzeinheiten pro Abrechnungszeitraum. Um beispielsweise einen wöchentlichen Zyklus anzugeben, setzen Sie die Einheit auf Woche und den Wert auf 1. Sie müssen den Wert auf 0 setzen, wenn Sie eine variable Einheit verwenden..

  • Jahr: 1-3
  • Monat: 1-36
  • Woche: 1-57
  • Tag: 1-1095
InstallmentAmountn..10CTransaction amount – choose zero if is not a fixed amountTransaktionsbetrag – wählen Sie Null, wenn es sich nicht um einen festen Betrag handelt
currencya3CTransaction currency code in ISO 4217 format. Example: EURWährungscode der Transaktion im Format ISO 4217. Beispiel: EUR

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:

(info) es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden

(info) die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden

Oops, it seems that you need to place a table or a macro generating a table within the Table Filter macro.

The table is being loaded. Please wait for a bit ...

KeyFormatCNDDescriptionBeschreibung

mid

ans..30

M

MerchantID, assigned by Computop

HändlerID, die von Computop vergeben wird

KeyFormatCNDDescriptionBeschreibung
PayID

an32

M

ID assigned by Paygate for the payment, e.g. for referencing in batch files as well as for capture or credit request.

Vom Paygate vergebene ID für die Zahlung; z.B. zur Referenzierung in Batch-Dateien sowie im Capture- oder Credit-Request.

KeyFormatCNDDescriptionBeschreibung
XID

an32

M

ID for all single transactions (authorisation, capture, credit note) for one payment assigned by Paygate

Vom Paygate vergebene ID für alle einzelnen Transaktionen (Autorisierung, Buchung, Gutschrift), die für eine Zahlung durchgeführt werden

KeyFormatCNDDescriptionBeschreibung
TransID

ans..64

MTransactionID provided by you which should be unique for each paymentIhre eigene TransaktionsID, die für jede Zahlung eindeutig sein muss

KeyFormatCNDDescriptionBeschreibung
refnr

ns..30

O

Merchant’s unique reference number

Eindeutige Referenznummer des Händlers

KeyFormatCNDDescriptionBeschreibung
Status

a..50

M

OK (URLSuccess) or FAILED (URLFailure)

OK (URLSuccess) oder FAILED (URLFailure)

Key

Format

CND

Description

Beschreibung

buttonsignature

ans..256MSignature for the Amazon buttonSignatur für die Amazon-Schaltfläche

buttonpayload

ans..256MPayload for the Amazon buttonPayload für die Amazon-Schaltfläche

buttonpublickeyid

ans..256MPublic Key ID for the Amazon buttonPublic-Key-ID für die Amazon-Schaltfläche

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)

Oops, it seems that you need to place a table or a macro generating a table within the Table Filter macro.

The table is being loaded. Please wait for a bit ...

KeyFormatCNDDescriptionBeschreibung
Nameas..50MFirst name and surname of addressVorname und Nachname der Adresse
sdStreeta..180MCompany name (if given) or street name and street numberFirmenname (falls angegeben) oder Straßenname und Hausnummer
sdStreet2a..60OStreet name and house numberStraßenname und Hausnummer
sdAddressAdditiona..60OOther additionsWeitere Zusätze
sdCitya..50MTown/city in the delivery addressOrt in der Lieferadresse
sdDistricta..50ODistrict/County of delivery addressBezirk/Kreis in der Lieferadresse
sdStatea..50CFederal state of delivery address. Not supported if countryCode is: 'UK', 'GB', 'SG', 'AE', 'MX'Bundesland der Lieferadresse. Nicht unterstützt, wenn countryCode ist: 'UK', 'GB', 'SG', 'AE', 'MX'
SDZipcodea..50MPostcode in the delivery addressPostleitzahl in der Lieferadresse
sdCountryCodean2MCountry code of delivery country according to ISO 3166Ländercode des Lieferlandes gemäß ISO 3166
sdPhonea..128MPhone number of addressee in the delivery addressTelefonnummer des Adressaten in der Lieferadresse

  • 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

Oops, it seems that you need to place a table or a macro generating a table within the Table Filter macro.

The table is being loaded. Please wait for a bit ...

KeyFormatCNDDescriptionBeschreibung
Nameas..50MFirst name and surname of addressVorname und Nachname der Adresse
sdStreeta..180MCompany name (if given) or street name and street numberFirmenname (falls angegeben) oder Straßenname und Hausnummer
sdStreet2a..60OStreet name and house numberStraßenname und Hausnummer
sdAddressAdditiona..60OOther additionsWeitere Zusätze
sdCitya..50MTown/city in the delivery addressOrt in der Lieferadresse
sdDistricta..50ODistrict/County of delivery addressBezirk/Kreis in der Lieferadresse
sdStatea..50CState or regionBundesland oder Region
SDZipcodea..50MPostcode in the delivery addressPostleitzahl in der Lieferadresse
sdCountryCodean2MCountry code of delivery country according to ISO 3166Ländercode des Lieferlandes gemäß ISO 3166
sdPhonea..128MPhone number of addressee in the delivery addressTelefonnummer des Adressaten in der Lieferadresse


US

Oops, it seems that you need to place a table or a macro generating a table within the Table Filter macro.

The table is being loaded. Please wait for a bit ...

KeyFormatCNDDescriptionBeschreibung
Nameas..50MFirst name and surname of addressVorname und Nachname der Adresse
sdStreeta..180MCompany name (if given) or street name and street numberFirmenname (falls angegeben) oder Straßenname und Hausnummer
sdStreet2a..60OStreet name and house numberStraßenname und Hausnummer
sdAddressAdditiona..60OOther additionsWeitere Zusätze
sdCitya..50MTown/city in the delivery addressOrt in der Lieferadresse
sdDistricta..50ODistrict/County of delivery addressBezirk/Kreis in der Lieferadresse
sdStatea..50CState or regionBundesland oder Region
SDZipcodea..50MPostcode in the delivery addressPostleitzahl in der Lieferadresse
sdCountryCodean2MCountry code of delivery country according to ISO 3166Ländercode des Lieferlandes gemäß ISO 3166
sdPhonea..128MPhone number of addressee in the delivery addressTelefonnummer des Adressaten in der Lieferadresse

  • In die 9-stellige US-Postleitzahl wird eine Bindestrich eingefügt (zum Beispiel: 98104 - 3442)