---
title: "Amazon Pay"
description: "Amazon Pay lets buyers pay using the payment and shipping details already saved in their Amazon account. In this guide you will learn how to activate it, configure it on Fabrick Payment Orchestra and integrate it correctly into your e-commerce."
url: "https://docs.fabrick.com/en/payment-hub-and-orchestra/ecommerce/alternative-payments/amazon-pay/"
language: "en"
---

# Amazon Pay

## Why choose Amazon Pay

Amazon Pay is an **alternative payment method** that allows buyers to complete their purchases using the payment and shipping information already saved in their Amazon account. The benefit is immediate: the buyer **does not have to enter any data manually**, for a fast and familiar checkout experience.

> **Learn more**
>
> For further information see the [official Amazon Pay documentation](https://developer.amazon.com/docs/amazon-pay-checkout/introduction.html)

---

## Services and features available through the Fabrick integration

Integrating Amazon Pay with Fabrick Payment Orchestra gives you access to the following features:

- **Checkout with no data entry**: the buyer uses the payment and shipping details already stored in their Amazon account.
- **Support for physical and digital products**: two configuration types, *PayAndShip* and *PayOnly*.
- **Two integration models**: *ExpressCheckout*, where Amazon handles the shipping address during the purchase process, and *ProcessOrder*, where the merchant sends the shipping address in the payment request.
- **Separated or unified authorization and financial confirmation**: the capture can be unified with the authorization or requested at a later time (see [Separated and unified capture](https://docs.fabrick.com/en/payment-hub-and-orchestra/ecommerce/alternative-payments/amazon-pay/#separated-and-unified-capture)).
- **Advanced transaction management**: support for full, partial and multiple captures and refunds.
- **Retrieving the shipping address**: the address collected by Amazon can be queried through the API (see [Retrieving the shipping address](https://docs.fabrick.com/en/payment-hub-and-orchestra/ecommerce/alternative-payments/amazon-pay/#retrieving-the-shipping-address)).
- **International coverage**: operations can be configured on one or more regions between **EU**, **UK**, **US** and **JP**.
- **Asynchronous notifications (IPN)**: status updates on authorizations, captures and refunds are notified by Amazon to Payment Orchestra through Instant Payment Notification.

> **Amazon account required**
>
> The buyer must have an **active Amazon account** to complete the payment with Amazon Pay.

### Integration models and supported configurations

Payment Orchestra supports two integration models with Amazon Pay, **ExpressCheckout** and **ProcessOrder**, which can be used according to the type of product sold.

- **PayAndShip** for physical products, where a valid shipping address must be provided to Amazon to manage the order
- **PayOnly** for digital products, where no shipping address is sent

The available configurations are as follows:

| Configuration                    | Product type      | Shipping address                                                                                                                                              |
| -------------------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **ExpressCheckout & PayAndShip** | Physical products | Retrieved automatically from the buyer's Amazon account, it must not be provided by the merchant in the payment request                                       |
| **ExpressCheckout & PayOnly**    | Digital products  | Not required                                                                                                                                                  |
| **ProcessOrder & PayAndShip**    | Physical products | Mandatory: it must be provided by the merchant in the payment request. It is displayed as read-only on the Amazon checkout and cannot be changed by the buyer |
| **ProcessOrder & PayOnly**       | Digital products  | Not required                                                                                                                                                  |

> **Shop-level configuration**
>
> The integration model and the product type are defined **when the payment method is activated, at shop level** (`shopLogin`), and cannot be changed on the individual payment request. All the requests of a shop are processed according to the assigned configuration.

> **PayOnly configuration**
>
> With the **PayOnly** configuration the payment flow is identical between ExpressCheckout and ProcessOrder: since no shipping address is required, the checkout has the same structure regardless of the configured model.

---

### Separated and unified capture

To set or change how transactions are handled for the payment method:

1. Log in to the Dashboard and go to **Settings → Access configurations** ![Accessing the configurations from the Dashboard](https://docs.fabrick.com/en/assets/images/dashboard-access-configurations-f4782eb17db7b8fb6f23649ba8e3e5d7.png)

2. Once redirected to the back office, go to **Configuration → Environment** and click **MOTO**: a side panel opens with the list of active payment methods

3. Find the payment method and select the mode you want between **Unify transaction** and **Separate** ![MOTO configuration for Amazon Pay](https://docs.fabrick.com/en/assets/images/amazonpay-moto-66a569e1bc9aa5c367e312077fa15ff8.png)

> **MOTO**
>
> For more details on how the two modes work, see the [separated and unified capture](https://docs.fabrick.com/en/payment-hub-and-orchestra/ecommerce/introduction/getting-started/#moto) section.

---

## Amazon Pay on Fabrick Payment Orchestra: activation and integration types

### Tasks required before activation

Before requesting the activation of the payment method, the merchant must complete a number of preliminary tasks on the Amazon Pay portal.

#### Registering the Amazon Pay Merchant account

The merchant must have an **active Amazon Pay Merchant account**. If one is not already available, you need to register through Amazon Seller Central and complete the Merchant account configuration procedure ([detailed procedure](https://developer.amazon.com/docs/amazon-pay-checkout/get-set-up-for-integration.html)).

#### Retrieving the credentials

To request the activation of Amazon Pay on Payment Orchestra, the merchant must provide Fabrick with three credentials:

| Credential         | How to obtain it                                                                                                                                                                                                                                                       |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Merchant ID**    | Assigned automatically by Amazon once the Amazon Pay Merchant account registration is complete                                                                                                                                                                         |
| **Client ID**      | Requires the creation of at least one Amazon Pay Store from the *Manage client ID/store ID(s)* section of Amazon Seller Central ([detailed procedure](https://developer.amazon.com/docs/amazon-pay-checkout/get-set-up-for-integration.html#5-get-your-public-key-id)) |
| **MWS Auth Token** | Generated through the Amazon Pay procedure for Solution Providers ([detailed procedure](https://developer.amazon.com/docs/amazon-pay-registration/create-mwsauthtoken.html))                                                                                           |

While generating the **MWS Auth Token**, Amazon asks for the *Developer Name* and the *Developer ID* of the Solution Provider. These values identify Fabrick as a Solution Provider authorised by Amazon Pay:

| Field          | Value            |
| -------------- | ---------------- |
| Developer Name | `GestPay`        |
| Developer ID   | `5535-2867-1582` |

At the end of the procedure Amazon makes the MWS Auth Token available, which must then be provided to Fabrick.

#### Configuring the IPN endpoint

Amazon Pay uses **Instant Payment Notification (IPN)** to asynchronously notify status updates on authorizations, captures and refunds. Before the service is activated, the merchant must configure the Payment Orchestra IPN endpoint in Amazon Pay ([detailed procedure](https://developer.amazon.com/docs/amazon-pay-checkout/set-up-instant-payment-notifications.html#setting-up-an-ipn-endpoint)).

| Environment    | IPN URL                                                                                |
| -------------- | -------------------------------------------------------------------------------------- |
| **Sandbox**    | `https://sandbox.fabrick.com/api/fabrick/third-parties/amazonpay/gateway/v4.1/webhook` |
| **Production** | `https://api.fabrick.com/api/fabrick/third-parties/amazonpay/gateway/v4.1/webhook`     |

> **IPN endpoint already configured**
>
> The endpoint currently configured must not be changed or removed. Removing it would interrupt the notifications to the systems already integrated. The procedure only involves adding a new endpoint, which will operate alongside the existing one.

#### Configuring the allowed domains

Amazon Pay requires the configuration of the **Allowed JavaScript Origins**, that is, the authorised domains from which the Amazon Pay checkout is served. This configuration is required **for the production environment only**: no allowed domain is required in sandbox ([detailed procedure](https://developer.amazon.com/docs/amazon-pay-checkout/get-set-up-for-integration.html#2-add-domains-to-seller-central)).

| Parameter                  | Value                                               |
| -------------------------- | --------------------------------------------------- |
| Allowed JavaScript Origins | `https://web.fabrick.com`, `https://web.axerve.com` |

> **Allowed domains**
>
> After adding a domain, Amazon Pay starts a verification procedure that can take up to 48 hours. If the domain is rejected, click the "Appeal" button available next to each URL in the same Seller Central section, entering the following text in the description field: "Allowed Redirect URL as of Amazon's Service Provider allowlist (Fabrick/GestPay)". Once the verification is complete, check again that the domain is approved.

### Activation request

Once the tasks described in the previous paragraphs are complete, you can request the activation of Amazon Pay by providing Fabrick with the following information:

| Information               | Description                                                                                                                |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| **Integration model**     | `ExpressCheckout` or `ProcessOrder`                                                                                        |
| **Type of products sold** | `PayAndShip` (physical products, shipping address required) or `PayOnly` (digital products, shipping address not required) |
| **Regions of operation**  | One or more between `EU`, `UK`, `US` and `JP`                                                                              |
| **Merchant ID**           | Amazon Pay Merchant identifier                                                                                             |
| **Client ID**             | Client ID generated on Amazon Seller Central                                                                               |
| **MWS Auth Token**        | Authorisation token generated through the Amazon Pay procedure for Solution Providers                                      |

To start accepting Amazon Pay payments, you can request the activation:

- By contacting your sales representative
- By contacting support at the following [link](https://landing.fabrick.com/fabrick-dashboard-support)

Once the required procedures are complete:

- Fabrick enables Amazon Pay on the shop and informs the merchant.
- You can verify that the payment method is active in the Dashboard, under **Workspace → Shops → \[Select shop] → Settings**

![Amazon Pay](https://docs.fabrick.com/en/assets/images/amazon-attivazione-edcdd8b33b250de6aade50e16eac9227.png)

> **Activation complete**
>
> From this moment on, your e-commerce is ready to accept Amazon Pay payments through Fabrick Payment Orchestra.

### Integration types

Fabrick offers two integration types for Amazon Pay:

- **Hosted integration**

  ### Supported integrations

  ✓ — Checkout Page

  ✓ — Pay By Link

  ✓ — Web Component

  ✗ — Lightbox

  With the **Express Checkout** and **Process Order & PayOnly** configurations, Amazon Pay is displayed directly on the Fabrick payment page, with no development work required on the merchant's side. Fabrick handles the display of the payment method and the entire processing phase. With the **Process Order & PayAndShip** configuration, on the other hand, the shipping address must be included in the payment request in order to display the method, and it is handled directly by the merchant.

  > **Amazon Pay not available in Lightbox**
  >
  > Amazon Pay is not compatible with the Lightbox integration: even if it is enabled for the `shopLogin`, the method is not shown on the selection page.

- **API integration**

  ### Supported integrations

  ✓ — API Only

  With this integration type the redirect to Amazon Pay is handled directly through the API. You need to initialise the transaction with `payment/create` and handle the buyer's redirect.

> **Testing Amazon Pay in the sandbox environment**
>
> To run tests in the sandbox environment you need to create at least one **dedicated Amazon Pay buyer account**, used exclusively to simulate purchases during testing ([detailed procedure](https://developer.amazon.com/docs/amazon-pay-checkout/get-set-up-for-integration.html#3-create-a-sandbox-test-buyer-account)).

---

## Hosted integration

To display Amazon Pay on the payment page with the **Process Order & PayAndShip** configuration, you need to add the `shippingAddress` object to the `payment/create` call and populate the mandatory fields required by the payment method.

To set up the call for the hosted integration, go to the [creating the transaction and redirecting to Amazon Pay](https://docs.fabrick.com/en/payment-hub-and-orchestra/ecommerce/alternative-payments/amazon-pay/#creating-the-transaction-and-redirecting-to-amazon-pay) section and **remove the `paymentType` field** from the `payment/create` call.

![Amazon Pay](https://docs.fabrick.com/en/assets/images/amazonpay-buyer-01-d1c1666551dc705e730650c48ae0bf8f.png)

When the user selects Amazon Pay, they are redirected to the service to log in and complete the payment.

![Amazon Pay](https://docs.fabrick.com/en/assets/images/amazonpay-buyer-02-819d66c3e48defd138fa523b56174187.png)

---

## API integration

To request an Amazon Pay payment using the API integration, you need to initialise the transaction with `payment/create` using the **`AMAZONPAY`** tag in the `paymentType` field and handle the buyer's redirect to the payment method.

### Creating the transaction and redirecting to Amazon Pay

**ExpressCheckout**

With the **ExpressCheckout** model the shipping address — where required by the product type — is retrieved directly from the buyer's Amazon account during the checkout. The merchant therefore does not need to include any shipping data in the request.

The same structure applies to the **ExpressCheckout & PayAndShip** and **ExpressCheckout & PayOnly** configurations.

**Request**

```http
POST /api/v1/payment/create
Host (sandbox): sandbox.gestpay.net
Host (production): ecomms2s.sella.it
Authorization: apikey ****************
Content-Type: application/json
```

```json
{
    "shopLogin": "GESPAY12345",
    "amount": "10",
    "currency": "EUR",
    "shopTransactionID": "FBK_OrderID",
    "paymentType": ["AMAZONPAY"], // Remove this line for the hosted integration
    "paymentChannel": { "channelType": ["LINK"] }
}
```

**ProcessOrder & PayAndShip**

With the **ProcessOrder & PayAndShip** configuration the merchant sells physical products and **must provide the shipping address** in the payment request. The address is displayed as read-only to the buyer during the Amazon checkout and cannot be changed.

**Request**

```http
POST /api/v1/payment/create
Host (sandbox): sandbox.gestpay.net
Host (production): ecomms2s.sella.it
Authorization: apikey ****************
Content-Type: application/json
```

```json
{
    "shopLogin": "GESPAY12345",
    "amount": "10",
    "currency": "EUR",
    "shopTransactionID": "FBK_OrderID",
    "paymentType": ["AMAZONPAY"], // Remove this line for the hosted integration
    "paymentChannel": { "channelType": ["LINK"] },
    "orderDetails": {
        "shippingAddress": {
            "firstName": "John",
            "lastName": "Doe",
            "streetName": "Piazza Gaudenzio Sella 1",
            "city": "Biella",
            "zipCode": "13900",
            "countryCode": "IT",
            "state": "BI",
            "email": "buyer@email.com",
            "primaryPhone": "3331234567"
        }
    }
}
```

**ProcessOrder & PayOnly**

With the **ProcessOrder & PayOnly** configuration the merchant sells digital products and the shipping address is not required. The structure of the request is identical to the one used for the ExpressCheckout model.

**Request**

```http
POST /api/v1/payment/create
Host (sandbox): sandbox.gestpay.net
Host (production): ecomms2s.sella.it
Authorization: apikey ****************
Content-Type: application/json
```

```json
{
    "shopLogin": "GESPAY12345",
    "amount": "10",
    "currency": "EUR",
    "shopTransactionID": "FBK_OrderID",
    "paymentType": ["AMAZONPAY"], // Remove this line for the hosted integration
    "paymentChannel": { "channelType": ["LINK"] }
}
```

The response returns the redirect link for the buyer to Amazon Pay in the `payload.userRedirect.href` field.

**Response**

```json
{
  "error": {
    "code": "0",
    "description": "request correctly processed"
  },
  "payload": {
    "paymentToken": "f0419188-8a78-4918-913c-a491e4e78084",
    "paymentID": "1881129911957",
    "userRedirect": {
      "href": "https://sandbox-web.axerve.com/orchestra/checkout/a/f991s1ba01d24eacaa3fac4b2145262a/b/36ab092425ff34515f7430e38babb28b84f16a31d63102b829072a1366c13580ae128e86-d779-4d98-88a2-0c035bcbd42eiAQ8ZaRT3IFyanLLjcIxtsuc3DTwycBdj5FD7FjuhlKm-mNnpirMdm9p3O8bhycmHVVPz6QOyo811UzHG3csjOSlH2KbF2EiUIxEwWFPAvk9TdUDrgWtyKLJYWayfzbZlP4iULt9eHTvhJEhK21sS8Smd0hX"
    },
    "qrCode": null
  }
}
```

> **Amazon Pay button**
>
> The returned link can be used under a *Pay with Amazon Pay* button, in line with the [Amazon Pay brand guidelines](https://developer.amazon.com/docs/amazon-pay-checkout/take-your-integration-live.html).

## Fields to send in the call to Amazon Pay

The parameters to include in `payment/create` are listed in the table below. Mandatory fields are shown in **bold**.

The `shippingAddress` object **is mandatory** in the **ProcessOrder & PayAndShip** configuration only.

### Shipping Address

| Field                                           | Type   | Description                               |
| ----------------------------------------------- | ------ | ----------------------------------------- |
| **`OrderDetails.ShippingAddress.FirstName`**    | string | Recipient's first name                    |
| `OrderDetails.ShippingAddress.LastName`         | string | Recipient's last name                     |
| **`OrderDetails.ShippingAddress.StreetName`**   | string | Street name and number                    |
| **`OrderDetails.ShippingAddress.City`**         | string | City                                      |
| **`OrderDetails.ShippingAddress.ZipCode`**      | string | Postal code                               |
| **`OrderDetails.ShippingAddress.CountryCode`**  | string | ISO 3166-1 alpha-2 country code (e.g. IT) |
| `OrderDetails.ShippingAddress.State`            | string | Province or state                         |
| `OrderDetails.ShippingAddress.Email`            | string | Recipient's e-mail address                |
| **`OrderDetails.ShippingAddress.PrimaryPhone`** | string | Recipient's phone number                  |

### Retrieving the shipping address

With the **ExpressCheckout & PayAndShip** configuration the shipping address is collected directly by Amazon Pay during the checkout and does not travel in the payment request.

If the merchant needs to use this information for their own business processes (for example to prepare and ship the order), Payment Orchestra makes the buyer's address available through the `GET payment/detail` API.

The information is contained in the `orderReferenceDetails` object; an example response is shown below:

**Request**

```http
GET /api/v1/payment/detail/{paymentID}
Host (sandbox): sandbox.gestpay.net
Host (production): ecomms2s.sella.it
Authorization: apikey ****************
Content-Type: application/json
```

**Response**

```json
{
    "error": {
        "code": "0",
        "description": "request correctly processed"
    },
    "payload": {
        "transactionType": "detail",
        "transactionResult": "APPROVED",
        "transactionState": "AUT",
        "transactionErrorCode": "0",
        "transactionErrorDescription": "Transaction correctly processed",
        "bankTransactionID": "4550",
        "shopTransactionID": "FBK_OrderID",
        "shopTransactionID_2": "",
        "authorizationCode": "AZ0631",
        "paymentID": "21421310038753",
        "currency": "EUR",
        "country": "",
        "company": "AMAZONPAY",
        "tdLevel": "",
        "threeDS": {
            "authenticationResult": null,
            "transDetails": null
        },
        "events": [
            {
                "event": {
                    "eventtype": "AUT",
                    "eventamount": "10.00",
                    "eventdate": "01/09/26 09:44:03",
                    "eventARN": "",
                    "eventID": "",
                    "eventReferred": ""
                }
            }
        ],
        "buyer": {
            "name": "",
            "email": ""
        },
        "risk": {
            "riskResponseCode": "",
            "riskResponseDescription": ""
        },
        "customInfo": null,
        "alertCode": "",
        "alertDescription": "",
        "cvvPresent": "FALSE",
        "dcc": null,
        "maskedPAN": "",
        "paymentMethod": "AMAZONPAY",
        "productType": "",
        "token": "",
        "tokenExpiryMonth": "",
        "tokenExpiryYear": "",
        "tokenDetails": null,
        "fraudPrevention": {
            "check": "FALSE",
            "state": "",
            "description": "",
            "order": ""
        },
        "automaticOperation": {
            "type": "CAN",
            "date": "26/09/26 00:00:00",
            "amount": "10.00"
        },
        "orderReferenceDetails": {
            "paymentServiceProviderAttributes": {
                "paymentServiceProviderOrderId": "GESPAY12345_4550"
            },
            "orderReferenceStatus": {
                "lastUpdateTimestamp": "20260901T074402Z",
                "state": "Completed"
            },
            "orderLanguage": "en-GB",
            "expirationTimestamp": "20270228T074343Z",
            "idList": null,
            "sellerOrderAttributes": {
                "storeName": "FBK_OrderID",
                "sellerOrderId": "FBK_OrderID"
            },
            "orderTotal": {
                "amount": "10",
                "currencyCode": "EUR"
            },
            "buyer": {
                "name": "John Doe",
                "email": "buyer@email.com"
            },
            "releaseEnvironment": null,
            "amazonOrderReferenceId": "S02-3823915-3820630",
            "creationTimestamp": "2026-09-08 18:36:57.028",
            "requestPaymentAuthorization": "true",
            "billingAddress": {
                "addressType": "Physical",
                "physicalAddress": {
                    "city": "Biella",
                    "phone": "+393331234567",
                    "countryCode": "IT",
                    "postalCode": "13900",
                    "name": "John Doe",
                    "addressLine1": null,
                    "addressLine2": "Via Corradino Sella 10"
                }
            },
            "destination": {
                "destinationType": "Physical",
                "physicalDestination": {
                    "city": "Biella",
                    "phone": null,
                    "countryCode": "IT",
                    "postalCode": "13900",
                    "name": "John Doe",
                    "addressLine1": "Via Corradino Sella, 10 Biella",
                    "addressLine2": null,
                    "stateOrRegion": null
                }
            }
        }
    }
}
```

---

## FAQ

**Do I need an Amazon account to pay with Amazon Pay?**

Yes. The buyer must have an active Amazon account to be able to complete the payment with Amazon Pay.

**How is the configuration of my shop determined?**

The configuration is defined when the payment method is activated, based on the merchant's operating model, and is applied at shop level. It cannot be changed on the individual payment request: to modify the active configuration you need to contact support.

**Can I have different configurations for different shops?**

Yes. The configuration is applied at shop level (`shopLogin`): if the merchant manages several shops on Payment Orchestra, each of them can be configured independently. Activation is also handled separately for each shop.

**With the ExpressCheckout & PayAndShip configuration, which shipping address is used?**

The default shipping address stored in the buyer's Amazon account is used; the buyer can still select a different one during the Amazon checkout.

**With the ProcessOrder & PayAndShip configuration, can the buyer change the shipping address during the checkout?**

No. The address provided by the merchant in the payment request is displayed as read-only on the Amazon checkout and cannot be changed by the buyer.

**Can I perform several captures on a single authorization?**

Yes. Payment Orchestra supports multiple and partial captures on a single authorization, up to the authorized amount.

**Can I perform several refunds on a single transaction?**

Yes. Payment Orchestra supports multiple refunds on a single capture, up to the captured amount.

---

## Support

**Fabrick**

- **Status page**: [https://status.fabrick.com/](https://status.fabrick.com/)
- **Support**: [https://landing.fabrick.com/fabrick-dashboard-support](https://landing.fabrick.com/fabrick-dashboard-support)

**Amazon Pay**

- **Docs**: [https://developer.amazon.com/docs/amazon-pay-checkout/introduction.html](https://developer.amazon.com/docs/amazon-pay-checkout/introduction.html)
- **Seller Central**: [https://sellercentral.amazon.com/](https://sellercentral.amazon.com/)
