Take your integration live
[Step 7 of 7] In this step, you will update your integration to use production values and review a pre-launch checklist. At the end of this step, you will be able to process live transactions.
Note: If your publicKeyId does not have an environment prefix (does not begin with 'SANDBOX' or 'LIVE') follow these instructions instead.
Note: If your publicKeyId has an environment prefix (for example: SANDBOX-AFVX7ULWSGBZ5535PCUQOY7B) follow these instructions instead.
1. Update publicKeyId
In the button integration code, replacepublicKeyId
with your Live API public Key ID. Repeat the get your public key ID instructions to generate the Live public Key ID. Be sure to select the "Production" option from the "Marketplace switcher" drop-down in step 2.
<script type="text/javascript" charset="utf-8">
amazon.Pay.renderButton('#AmazonPayButton', {
// set checkout environment
merchantId: 'merchant_id',
publicKeyId: 'LIVE-xxxxxxxxxx',
ledgerCurrency: 'USD',
// customize the buyer experience
checkoutLanguage: 'en_US',
productType: 'PayAndShip',
placement: 'Cart',
buttonColor: 'Gold',
// configure Create Checkout Session request
createCheckoutSessionConfig: {
payloadJSON: 'payload',
signature: 'xxxx'
}
});
</script>
<script type="text/javascript" charset="utf-8">
amazon.Pay.renderButton('#AmazonPayButton', {
// set checkout environment
merchantId: 'merchant_id',
publicKeyId: 'LIVE-xxxxxxxxxx',
ledgerCurrency: 'EUR',
// customize the buyer experience
checkoutLanguage: 'en_GB',
productType: 'PayAndShip',
placement: 'Cart',
buttonColor: 'Gold',
// configure Create Checkout Session request
createCheckoutSessionConfig: {
payloadJSON: 'payload',
signature: 'xxxx'
}
});
</script>
<script type="text/javascript" charset="utf-8">
amazon.Pay.renderButton('#AmazonPayButton', {
// set checkout environment
merchantId: 'merchant_id',
publicKeyId: 'LIVE-xxxxxxxxxx',
ledgerCurrency: 'GBP',
// customize the buyer experience
checkoutLanguage: 'en_GB',
productType: 'PayAndShip',
placement: 'Cart',
buttonColor: 'Gold',
// configure Create Checkout Session request
createCheckoutSessionConfig: {
payloadJSON: 'payload',
signature: 'xxxx'
}
});
</script>
<script type="text/javascript" charset="utf-8">
amazon.Pay.renderButton('#AmazonPayButton', {
// set checkout environment
merchantId: 'merchant_id',
publicKeyId: 'LIVE-xxxxxxxxxx',
ledgerCurrency: 'JPY',
// customize the buyer experience
checkoutLanguage: 'ja_JP',
productType: 'PayAndShip',
placement: 'Cart',
buttonColor: 'Gold',
// configure Create Checkout Session request
createCheckoutSessionConfig: {
payloadJSON: 'payload',
signature: 'xxxx'
}
});
</script>
3. Review the pre-launch checklist
Ensure that stakeholders within your business have the proper user access permissions for Seller Central, and are aware of the launch date. Review the pre-launch checklist below to ensure a successful launch.Complete account setup
- Ensure that you have completed Amazon Pay merchant account registration, and you’re ready to process payments in Production.
- Ensure all domains have been added to Seller Central. See Add domains to Seller Central for more info.
- Add your logo to the Amazon Pay store configuration to maintain a seamless checkout experience. Note that the logo will be automatically resized to 50 x 150 pixels.
- If you're using IPNs to handle asynchronous processes, add production IPN endpoints. See using IPNs for more info.
- Upgrade to a live account if you’re using a developer account: US, EU, UK, JP.
Optimize the buyer experience
- Verify that the Amazon Pay checkout experience is optimized for both desktop and mobile experiences.
- Check that buyer communication provides accurate information.
Common integration issues
- Some Amazon Pay transactions are processed asynchronously. This means that Amazon Pay will return a pending response and the object will be in an Pending state until processing is complete. If applicable, make sure that you’re handling asynchronous processing.
- Amazon Pay returns a string string for buyer name. Make sure you’re parsing the buyer name correctly. Note that some buyers may only provide a single name, e.g. “Jane”.
1. Update the button-rendering code
In the button integration code, remove thesandbox
parameter. You must also generate a new signature if payloadJSON
changes.
<script type="text/javascript" charset="utf-8">
amazon.Pay.renderButton('#AmazonPayButton', {
// set checkout environment
merchantId: 'merchant_id',
ledgerCurrency: 'USD',
// customize the buyer experience
checkoutLanguage: 'en_US',
productType: 'PayAndShip',
placement: 'Cart',
buttonColor: 'Gold',
// configure Create Checkout Session request
createCheckoutSessionConfig: {
payloadJSON: 'payload',
signature: 'xxxx',
publicKeyId: 'xxxxxxxxxx'
}
});
</script>
<script type="text/javascript" charset="utf-8">
amazon.Pay.renderButton('#AmazonPayButton', {
// set checkout environment
merchantId: 'merchant_id',
ledgerCurrency: 'EUR',
// customize the buyer experience
checkoutLanguage: 'en_GB',
productType: 'PayAndShip',
placement: 'Cart',
buttonColor: 'Gold',
// configure Create Checkout Session request
createCheckoutSessionConfig: {
payloadJSON: 'payload',
signature: 'xxxx',
publicKeyId: 'xxxxxxxxxx'
}
});
</script>
<script type="text/javascript" charset="utf-8">
amazon.Pay.renderButton('#AmazonPayButton', {
// set checkout environment
merchantId: 'merchant_id',
ledgerCurrency: 'GBP',
// customize the buyer experience
checkoutLanguage: 'en_GB',
productType: 'PayAndShip',
placement: 'Cart',
buttonColor: 'Gold',
// configure Create Checkout Session request
createCheckoutSessionConfig: {
payloadJSON: 'payload',
signature: 'xxxx',
publicKeyId: 'xxxxxxxxxx'
}
});
</script>
<script type="text/javascript" charset="utf-8">
amazon.Pay.renderButton('#AmazonPayButton', {
// set checkout environment
merchantId: 'merchant_id',
ledgerCurrency: 'JPY',
// customize the buyer experience
checkoutLanguage: 'ja_JP',
productType: 'PayAndShip',
placement: 'Cart',
buttonColor: 'Gold',
// configure Create Checkout Session request
createCheckoutSessionConfig: {
payloadJSON: 'payload',
signature: 'xxxx',
publicKeyId: 'xxxxxxxxxx'
}
});
</script>
2. Update API endpoints
Change API endpoints from sandbox to live:Region
|
Sandbox base API endpoint
|
Production base API endpoint
|
US
|
https://pay-api.amazon.com/sandbox/:version
|
https://pay-api.amazon.com/live/:version
|
EU/UK
|
https://pay-api.amazon.eu/sandbox/:version
|
https://pay-api.amazon.eu/live/:version
|
JP
|
https://pay-api.amazon.jp/sandbox/:version
|
https://pay-api.amazon.jp/live/:version
|
3. Review the pre-launch checklist
Ensure that stakeholders within your business have the proper user access permissions for Seller Central, and are aware of the launch date. Review the pre-launch checklist below to ensure a successful launch.Complete account setup
- Ensure that you have completed Amazon Pay merchant account registration, and you’re ready to process payments in Production.
- Ensure all domains have been added to Seller Central. See Add domains to Seller Central for more info.
- Add your logo to the Amazon Pay store configuration to maintain a seamless checkout experience. Note that the logo will be automatically resized to 50 x 150 pixels.
- If you're using IPNs to handle asynchronous processes, add production IPN endpoints. See using IPNs for more info.
- Upgrade to a live account if you’re using a developer account: US, EU, UK, JP.
Optimize the buyer experience
- Verify that the Amazon Pay checkout experience is optimized for both desktop and mobile experiences.
- Check that buyer communication provides accurate information.
Common integration issues
- Some Amazon Pay transactions are processed asynchronously. This means that Amazon Pay will return a pending response and the object will be in an Pending state until processing is complete. If applicable, make sure that you’re handling asynchronous processing.
- Amazon Pay returns a string string for buyer name. Make sure you’re parsing the buyer name correctly. Note that some buyers may only provide a single name, e.g. “Jane”.