Introduction

Amazon pay is a payment service of the amazon group. It aims to give a simple checkout experience with a redirec to the customers amazon account over which they can pay before being brought back to the merchant site. 

The merchant does not have to take care of compliance and sensitive data and gets the order and payment confirmation details from amazon into his:her account. 

Overview

Amazon pay can currently only be used in the currency EUR

the selling merchant has to be resident in one of the following countries

Countries (merchant residence): Currency
  • Germany
  • France
  • Italy
  • Spain
  • Luxembourg
  • Netherlands
  • Sweden
  • Portugal
  • Hungary
  • Denmark
  • Euro
B2B transactions are not supported.
  • It's always recommended to use the most recent API-version
    → minimal API-version is api_version=3.10
  • Status "PENDING" has to be processed
    • for API-response "PENDING"
    • for TransactionStatus "pending"
    → Please setup notify-version in PMI → Configuration → Payment Portals → General → Notify-Version at least to "Version 7.5"
  • Please note the additional information for use of Amazon Pay via Payone at the bottom of this page → additional information (anchor to lower page additonal info

Process CV2

Amazon Pay Checkout Version 2 (CV2) is a fully hosted solution relying on Amazon Pay-hosted page where the buyer is redirected to complete the checkout with Amazon Pay. CV2 is removing the frame widgets and taking over rendering the UI completely including multi-factor authentication (identity validation) challenge, if prompted.

We recommend migrating to Amazon CV2 due to its more robust implementation. Also, further product development by Amazon is done on CV2 only.

Amazon Pay CV2 checkout experience

  • Buyer clicks on the Amazon Pay button to start checkout.
  • Buyer signs in, confirms their preferred payment instrument, and optionally selects a shipping address on the Amazon Pay-hosted page.
  • Following the buyer is redirected back to merchant's order review page for confirmation.
  • The buyer completes checkout on the Amazon Pay-hosted page by responding to the multi-factor authentication (identity validation) challenge, if prompted, or by selecting another payment method if payment was declined.
  • Buyer is redirected back to merchant's confirmation page.

1
Create Checkout Session and Button Signature

Once preparation for integration is complete, such as register for Amazon Pay merchant account, the first step you would need is to retrieve an Amazon Pay Checkout Session and Button Signature. Checkout session and button signature are prerequisite to display Amazon Pay button.

Use genericpayment request to create a checkout session and generate payload and signature required for rendering Amazon Pay button. 

2
Render Amazon Pay button

Next step is to show the Amazon Pay button to the customer. Amazon Pay is an express checkout payment method, that lets the customer skip the address input in the shop. The merchant will retrieve customer data from Amazon Pay. This will make the checkout flow more convenient for your customer and will optimise your conversion rate.

You will be using the Amazon Checkout Session and button signature retrieved from the previous step and later using amazon.Pay.renderButton() script to display the Amazon Pay button.

3
Display Shipping and Payment info

Once choosing the Amazon Pay method, the buyer will be redirected to Amazon Pay hosted pages to complete the steps for the selecting their preferred shipping address and payment instrument. Next the buyer will be later redirected to your Order Review Page to review and complete checkout steps. The workorderId will be included as query parameter.

You should later use the workorderId  to retrieve from Amazon Pay the preferred shipping address and payment info (Get Checkout Session) and display the retrieved information in the order review page.

4
Enable shipping and payment updates

The buyer may decide to change the selected shipping address or payment instrument before proceeding with the checkout confirmation. Shipping address and payment instrument are always changed on the Amazon Pay hosted pages. To enable the change, your should use amazon.Pay.bindChangeAction() to bind the click events to HTML element of your choice. You should use the amazonCheckoutSessionId returned in add_paydata[amazonCheckoutSessionId] in response from the previous step, which is valid up to 24 hours until completion.

Always use Get Checkout Session to retrieve updated shipping and payment information from Amazon Pay upon buyer redirection to your order review page.

5
Update checkout session (Update order)

Use this step in case there are order amount updates once the buyer is landed on your order review page, for example adding new items in shopping basket, or changing delivery options. Any order update, which results in total order amount changes, requires this step before submitting the Pre-/Authorization request.

Use genericpayment-updateCheckoutSession request to update the order and checkout session.

6
Pre-/Authorization

To finish the order, you now need to send a  pre-/authorization request to PAYONE. 

7
Redirect to Amazon Pay for processing

Upon placing the order, the buyer will be redirected to Amazon Pay page to process the payment. Amazon Pay will then determine if authentication is required and handle all the process of authentication.

Integration

Amazon Checkout Version 2 Integration Guide

Legacy Process CV1

Amazon heavily relies on frontend widgets to let the customer select address and payment options.

Following the general process

1
Show Amazon button

In the first step you need to show the Amazon Pay button to the customer. Amazon Pay is an express checkout payment method, that lets the customer skip the address input in the shop. The merchant will retrieve customer data from Amazon Pay. This will make the checkout flow more convinient for your customer and will optimize your conversion rate.

2
Show widget and retrieve customer data

With the retrieved configuration, you can now show the button. By clicking on it, you need to display the Amazon Widgets. One for address selection, one for payment method options.
The customer needs to accept his selected options to proceed the checkout (you need to display a "next" button). After selection you want to retrieve customer data from Amazon Pay. Therefore, you can now send a genericpayment-request with action "getorderreferencedetail" to retrieve customer data. If you want to change the order afterwards, for example to change the amount because of delivery fees, you can send an optional genericpayment-requests with action "setorderreferencedetails". Both steps should be done in the background, not visible for the customer.

3
Confirm order (new with PSD2)

The next step is new and with PSD2 becoming mandatory. You have finished all order details and retrieved customer data. You now want to confirm the order to amazon, so that amazon can now check the authentication status of the customer.

4
Pre-/Authorization

To finish the order, you now need to initiate the confirmation of the order. The customer will be redirected to your shop and you can authorize the payment via PAYONE.

Integration

→ Amazon Checkout Version 1 Integration Guide