Amazon Pay provides Amazon customers a secure, trusted, and convenient way to sign in and pay for their purchases on your site. Customers use Login with Amazon to share their profile information (name, email address, and zip code) and get access to their shipping address and payment method stored in their Amazon account to complete their purchase.
This guide provides details on enabling automatic payments for subscriptions or other regular payments scenarios by using the API-based integration called Amazon Pay and Login with Amazon, which provides a greater degree of flexibility and customization to meet your payment needs.
With the automatic payments feature, customers can pre-authorize payments for future purchases. This enables you to charge a customer's Amazon account on a regular basis for subscriptions and usage-based billing without requiring the customer to authorize a payment each time.
Note: The Amazon Pay service has been designed and developed for use within a web browser only. Our service cannot be used within a native application (including, without limitation, iOS, Android, RIM, and Windows operating systems). Amazon Pay reserves the right to suspend the payment account of any user of our services that has implemented our service within a native application.
The following are the prerequisites for the Amazon Pay and Login with Amazon service:
- Previous experience using web service.
- Familiarity with Seller Central.
- The ability to handle asynchronous processing of payments. For more information, see Synchronizing your systems with Amazon Pay.
- A Seller ID (also called a Merchant ID) for an Amazon Pay Seller. The Amazon Pay Seller account must have the Amazon Pay and Login with Amazon service provisioned. You can create an Amazon Pay Seller account or provision an existing Seller account for Amazon Pay and Login with Amazon by signing up for Amazon Pay from the Amazon Pay website.
- Access to your Amazon Marketplace Web Service (Amazon MWS) Access Key and Secret Key. To get these keys, register with Amazon MWS, or authorize a developer to make calls on your behalf. For more information, see Registering to use Amazon MWS in the Amazon MWS Developer Guide.
- Register your website as an application in Amazon Pay: Go to Seller Central and click on Integration Central under the Integration menu item, and then click Create new client ID/store ID. Registering your website sets a client identifier (Client ID), which you will need for your integration.
How does Amazon Pay work?
Amazon Pay and Login with Amazon are embedded directly into your existing website, and all of the customer interactions with Amazon Pay and Login with Amazon take place in embedded widgets, so the customer never leaves your site.
The product consists of two parts, the Login with Amazon and the Amazon Pay services, which are technically closely related and run on the same platform:
- Login with Amazon lets your customers become registered users just by signing in with their Amazon login credentials. Amazon Pay then transfers user information to you that lets you create a local account for the customers. Users that register this way are your customers, and you get the real customer email address and can contact them directly.
- Amazon Pay represents a checkout that is fully integrated into your site by means of widgets that Amazon Pay provides to you. In this Amazon checkout, which is part of your website, the customer chooses a shipping address and payment method they already have stored in their Amazon user accounts. Regardless of whether or not the customer previously used Login with Amazon, you can offer Amazon Pay as a guest checkout, a registered checkout with implicit account creation, or both. In the latter case, you leave the choice to the customer.
Using Amazon Pay and Login with Amazon, your customers can become registered users and check out with a few clicks, saving them from entering a lot of information.
The end-to-end Amazon Pay and Login with Amazon experience is designed to make checkout for one-time or automatic purchases easy and secure for customers and payment processing easy and secure for you. Before you start the integration, you should familiarize yourself with a few key concepts regarding this service.
When you integrate with Amazon Pay and Login with Amazon, you embed button widgets on your site to create a login and checkout experience for customers. Depending on the button widgets that you choose, you can obtain customer information like name, email address, and postal code before, during, or after customers begin the checkout process on your site. The following chart explains more about each button widget option:
Login with Amazon
Use this button to let customers sign in to your site and pay using their Amazon accounts. Customers can sign in before, during, or after they begin the checkout process. Customers can share with you their profile information (name, email address, and postal code) and access the shipping and payment information stored in their Amazon accounts to complete their purchases on your site.
After a customer signs in with their Amazon account credentials:
Use this button to let customers sign in to your site and pay using their Amazon credentials while sharing their profile information and full shipping address with you before completing a transaction.
After a customer sign in with their Amazon account credentials:
An access token is granted by the authorization server when a user signs in to a site. An access token is specific to a client, a user, and an access scope. A client must use an access token to retrieve customer profile data and allow access to shipping and payment information.
Payment objects are the building blocks that support the Amazon Pay payments process. The following objects are referenced throughout this guide:
- Billing Agreement object -- This object is a record of the customer's preferred payment method, preferred shipping address, and authorization for an automatic payment. The customer determines some of these attributes as they go through the checkout process (for example, the shipping address and payment method), and you will set some of the attributes with information about the order and/or subscription.
- Order Reference object -- This object is a record of each purchase made by the customer. For an automatic payment, this object is created when you process a payment for a particular automatic purchase. The payment method and shipping address (if specified) are derived from the Billing Agreement object.
- Authorization object -- This object represents the availability of funds in the chosen payment method and reserves them for future collection using a Capture.
- Capture object -- This object represents the movement of funds from the customer's payment method to your Amazon Pay Seller account.
- Refund object -- In the event of a refund, this object represents the movement of previously captured funds back to the customer.
Each of these objects is identified by a unique identifier, and each has a status. You will learn more about using these objects in the next chapter of this guide.
Widgets are Amazon Pay-hosted controls that you can embed in your site. They enable the customer to sign in to your site, authenticate using their Amazon credentials, review the address and payment methods stored in their Amazon account, and choose those that they want to use for their purchases. The chosen address and payment method information is stored in the Billing Agreement object and copied to the Order Reference object.
You can use five widgets when integrating with Amazon Pay and Login with Amazon:
- Login with Amazon Button widget: This widget enables customers to sign in to your site using their Amazon accounts before, during, or after they begin the checkout. Amazon Pay suggests placing this widget in a prominent location, such as on the homepage of your site. The following image shows the Login with Amazon button widget:
- Amazon Pay button (optional if you are using the Login with Amazon button): This enables a customer to choose Amazon Pay for their payment and to authenticate with their Amazon credentials. Typically, you place this on the page where a customer initiates the checkout process -- for example, from your shopping cart or product detail page. The following image shows the Amazon Pay button widget:
- AddressBook widget (optional): The AddressBook widget shows the addresses stored in a customer's Amazon account. You can replace the manual entry forms that you use to collect addresses from the customer with this widget. The following image shows the AddressBook widget:
- Wallet widget (required): The Wallet widget displays the payment methods stored in a customer's Amazon account. You can replace the manual entry forms that you use to collect payment method information from the customer with this widget. The following image shows the Wallet widget:
- Authorize Recurring Payments widget (required for recurring payments): The Authorize Recurring Payments widget enables a customer to agree to be charged on a recurring basis for a subscription or recurring bill. Amazon Pay recommends that you place this widget before the Subscribe or Place Order button on your site. The following image shows the Authorize Recurring Payments widget:
Application Programming Interfaces (APIs)
You call the operations in the Amazon Pay API section to exchange information and instructions between Amazon Pay and your internal systems. For example, you call these operations to obtain customer profile information, request Amazon Pay to charge the customer, issue a refund, get the customer's shipping information, or cancel a billing agreement. For more information, see the Amazon Pay API reference guide.
Instant Payment Notifications (IPNs)
Amazon Pay often processes your payment requests (Authorize, Capture, and Refund requests) in an asynchronous manner. After Amazon Pay processes the request, you receive a notification, called an Instant Payment Notification (IPN), which notifies you of the final status of the request.
Additionally, the status of a payment object can change because of a request submitted by you or because of an internal Amazon Pay business rule. If the status of a payment object changes, Amazon Pay sends an IPN to you so that you can keep your system in sync with Amazon Pay. For more information, see Synchronizing your systems with Amazon Pay.