Amazon Pay

Amazon Pay is a service that lets your customers use the payment methods already associated with their Amazon account to pay for goods and services. To perform a payment, users can use any of the payment methods registered in their Amazon account.


The necessary operations to integrate Amazon Pay are:


1. Sign in on Amazon Pay SellerCentral

To use Amazon Pay you must register and follow the instructions.

Then, you have to retrieve a clientID by creating an Application.

2. Configure Amazon Pay

To communicate with Gestpay sandbox and production environments, You need to set some parameters in the Amazon Pay profile.

In the IPN Configuration you must set these fields:

merchant URL If you want to receive notifications directly from Amazon, here you can set a personalized URL
integrator URL
merchant URL If you want to receive notifications directly from Amazon, here you can set a personalized URL
integrator URL

In Login with Amazon > Web Settings section insert the follwing values:

Allowed Javascript Origins
Allowed Return URLs
Allowed Javascript Origins
Allowed Return URLs

3. Generate MWS Token

The MWS Token is needed to delegate Gestpay to operate on your behalf.

To generate the MWS Token:

property value
Developer’s Name Gestpay
Developer ID 5535-2867-1582

4. Gestpay Configuration

In Gestpay backoffice, insert Amazon Pay credentials received when signed in:

The Show Address Widget checkbox allows the selection of the address from Amazon Pay during the payment by showing the widget; This setting can be disabled if the merchant sells non-shippable items (e.g. non physical goods).

Amazon Pay payment flow with the Payment Page

To use Amazon Pay:

1. Encrypt

The first step is to encrypt the payment request and send it to Gestpay. To do this, you’ll call Encrypt in WsCryptDecrypt webservice.

An Encrypt example is available in our API section.

If you want to use the paymentType tag for this method, the value to use is AMAZONPAY. See the section How to redirect the customer to a payment method to learn how to use the paymentType tag.

With Amazon Pay the ShopTransactionId must be unique.

2. Redirect the user

Gestpay will answer to your request with an EncryptResponse, that will contain a field CryptDecryptString.

For test environment, redirect the user to<ShopLogin>&b=<CryptDecryptString>

For production environment, the url is<ShopLogin>&b=<CryptDecryptString>

More info on this can be found in Using gestpay payment page.

Once the buyer is redirected, and if he is not authenticated, Amazon will show a login form:

Once the buyer is logged, he will see a page where he can choose the shipping address from Amazon saved addresses:

Then he can choose a credit card amongst the saved amazon credit cards.

At the end, Gestpay will perform an authorization request on the selected credit card, and the buyer will be redirected to the merchant website (positive or negative response URL).

3. Read response from Gestpay

After the payment has been acknowledged, Gestpay will

This process is described in the docs for the payment page, step 3.

The payload of this call are two query parameters, the first being the shopLogin and the second being a encrypted string.

To decrypt the encrypted string you must call Decrypt in WsCryptDecrypt webservice; in the response you’ll see the transaction result.

4. Get the buyer’ shipping and billing address

To retrieve the buyer’s shipping addresses, you call callReadTrxS2S in WsS2S webservice. There, you’ll find also a response example.

The relevant data is contained in the OrderReferenceDetails tag; here we’ll report an example of the response relevant data:

<callReadTrxS2SResponse xmlns="">
    <GestPayS2S xmlns="">
          <Name>Marco Rossi</Name>
          <AddressLine1>via Gobe 15</AddressLine1>
          <Name>Liam Barker</Name>
          <AddressLine2>Meininger Strasse 58</AddressLine2>

Amazon Pay via S2S call

If you wish to implement your custom payment page by loading AmazonPay widgets, you can directly call Gestpay callPagamS2S (the webservice that allows to pay via server-to-server) with this data:

Field Value
paymentType AMAZONPAY
transKey the Amazon Order Reference Id field received by Amazon

An example call can be found in the API.

Recurring payments via Amazon Pay

With Amazon Pay you can set up recurrent payments. To do this, in the Encrypt method you can use the option amazonPayBillingAgreementDescription:

  <!-- use this tag for recurring payments -->

Possible values for amazonPayBillingAgreementDescription:

An example can be found in the API docs.

To use the token for repeated payments, see CallPagamS2S.