Pay with Amazon
introduces a new Amazon hosted payment experience
Pay with Amazon express customer experience
Click Pay With Amazon button to begin transaction
1. Login with your Amazon account
2. Select your payment preferences
3. Complete your
transaction
Click Pay With Amazon button to begin transaction
1. Login with your Amazon account
2. Select your payment preferences
3. Complete your
transaction
Explore the Amazon Payments Developer Experience
Amazon Payments buttons
With the Login with Amazon button, customers can login to your website with their Amazon account credentials. Integrate the Pay with Amazon button to let them pay for their purchases using the information stored in their Amazon account.
- Integrate the Login with Amazon button as part of your existing website design.
- Integrate the Pay with Amazon buttons in-line with your existing checkout process.
- Mobile-friendly responsive widgets: New customers are a few taps away.
- Proven security and fraud protection.
<head>
<script type='text/javascript'>
window.onAmazonLoginReady = function() {
amazon.Login.setClientId('YOUR_CLIENT_ID_HERE');
};
</script>
<script type='text/javascript'
src='https://static-na.payments-amazon.com/OffAmazonPayments/us/js/Widgets.js?sellerId=YOUR_SELLER_ID_HERE'>
</script>
</head>
<!-- Place this where you would like the Payment Button to appear -->
<div id="AmazonPayButton"></div>
<script type="text/javascript">
var authRequest;
OffAmazonPayments.Button("AmazonPayButton", "YOUR_SELLER_ID_HERE", {
type: "PwA",
color: "Gold",
size: "medium",
useAmazonAddressBook: true,
authorization: function() {
var loginOptions = {scope: 'profile payments:widget'};
authRequest = amazon.Login.authorize(loginOptions, "YOUR_REDIRECT_URL_HERE");
},
onError: function(error) {
// Write your custom error handling
}
});
</script>
<head>
<script type='text/javascript'>
window.onAmazonLoginReady = function() {
amazon.Login.setClientId('YOUR_CLIENT_ID_HERE');
};
</script>
<script type='text/javascript'
src='https://static-na.payments-amazon.com/OffAmazonPayments/us/js/Widgets.js?sellerId=YOUR_SELLER_ID_HERE'>
</script>
</head>
<!-- Place this where you would like the Login with Amazon Button to appear -->
<div id="AmazonPayButton"></div>
<script type="text/javascript">
var authRequest;
OffAmazonPayments.Button("AmazonPayButton", "YOUR_SELLER_ID_HERE", {
type: "LwA",
color: "Gold",
size: "medium",
useAmazonAddressBook: true,
authorization: function() {
var loginOptions = {scope: 'profile payments:widget'};
authRequest = amazon.Login.authorize(loginOptions, "YOUR_REDIRECT_URL_HERE");
},
onError: function(error) {
// Write your custom error handling
}
});
</script>
Address Book Widget
The Address Book widget allows a customer to quickly select a preferred shipping address.
- Mobile-friendly and responsive
- Customers can easily access stored address information
<!-- This is the handler for the onAmazonLoginReady Callback -->
<head>
<script type='text/javascript'>
window.onAmazonLoginReady = function() {
amazon.Login.setClientId('YOUR_CLIENT_ID_HERE');
};
</script>
<script type='text/javascript'
src='https://static-na.payments-amazon.com/OffAmazonPayments/us/js/Widgets.js?sellerId=YOUR_SELLER_ID_HERE'>
</script>
</head>
<!-- Place this where you would like the AddressBook Widget to appear -->
<div id="addressBookWidgetDiv"></div>
<script>
new OffAmazonPayments.Widgets.AddressBook({
sellerId: 'YOUR_SELLER_ID_HERE',
design: {
size: {
width:'400px',
height:'260px'
}
},
onOrderReferenceCreate: function(orderReference) {
orderReference.getAmazonOrderReferenceId();
},
onAddressSelect: function(orderReference) {
// Optionally render the Wallet Widget
},
onError: function(error) {
// Write your custom error handling
}
}).bind("addressBookWidgetDiv");
</script>
Wallet Widget
Our Wallet widget allows a customer to quickly select a preferred payment method for a purchase.
- Mobile-friendly and responsive
- Customers can quickly access stored payment methods
- Safe and secure: Payment information is stored on Amazon’s servers
<!--This is the handler for the onAmazonLoginReady Callback -->
<head>
<script type='text/javascript'>
window.onAmazonLoginReady = function() {
amazon.Login.setClientId('YOUR_CLIENT_ID_HERE');
};
</script>
<script type='text/javascript'
src='https://static-na.payments-amazon.com/OffAmazonPayments/us/js/Widgets.js?sellerId=YOUR_SELLER_ID_HERE'>
</script>
</head>
<!--Place this where you would like the Wallet Widget to appear -->
<div id="walletWidgetDiv"></div>
<script>
new OffAmazonPayments.Widgets.Wallet({
sellerId: 'YOUR_SELLER_ID_HERE',
design: {
size: {width:'400px', height:'260px'}
},
onPaymentSelect: function(orderReference) {
// Display your custom complete purchase button
},
onError: function(error) {
// Write your custom error handling
}
}).bind("walletWidgetDiv");
</script>
Back-end service calls
Amazon Payments solutions are architected and designed for high availability, scalability, and security from the start. Login and Pay is deployed in AWS across multiple availability zones. Amazon Payments utilizes many of the building blocks available in AWS and Amazon’s distributed services environment. These include:
- SNS (Simple Notification Service) to provide Instant Payment Notifications
- SQS (Simple Queuing Service) for work item management
- DynamoDB/S3 as part of the storage solution
These systems are distributed and resilient to availability zone failure. Services are automatically balanced between zones and traffic is automatically routed to available zones in the event of an AZ failure.
Tools
When you’re ready to dive into Login and Pay with Amazon, we have you covered.
- Access our Sandbox to test integration, test orders and validate that the right order information comes through for you.
- Our integration guide and API documentation are available for reference as you go.
Pricing
Low costs. No hidden fees.
(For domestic U.S. transactions.)
Domestic processing fee
Authorization fee
Cross-border processing fee
Disputed chargeback fee