This is an old revision of the document!


type:
gateway
name:
Amazon Payments
countrie:
US
support-added:
2.0
auth-net-emulation:
no
supports-3dsecure:
no
gateway:
https://payments.amazon.com/solutionproviders

Amazon Payments

Before You Begin…

Do you already have an Amazon merchant account? Amazon has a few different options, including Checkout by Amazon (CBA), Amazon Simple Pay (ASP), and Flexible Payment System (FPS). None of those are what you're going to use here.

Instead, this is Amazon's latest integration, “Login and Pay with Amazon”. Even if you already have another Amazon merchant account, you'll need to complete the steps below. If you attempt to use credentials from a different Amazon system, you'll get errors. We know this is confusing, but ASP and FPS are going away soon, at which point things likely will become more clear.

What about my existing subscribers on ASP?

Glad you asked! Get in touch with us for more info, but Amazon will announce details by mid-May. Your ASP subscriptions will be able to transfer to FoxyCart to run on Pay with Amazon, without any action required from your customers.

Setting Up Amazon Payments for FoxyCart

  1. Login using the desired Amazon Payments account.
  2. Create a Login with Amazon profile.
    1. The Application Name and Description will be shown when buyers Login on your site.
    2. The Privacy Notice URL is required and should link to an appropriate page on your site.
    3. The Allowed Login Domain should be the secure URL that the checkout will be served from, for example: https://mystore.foxycart.com
  3. Consent to allow FoxyCart to make API calls on your account.
  4. If you don't already have the FoxyCart admin open, go there in a new tab, and click the settings → payment page link. Scroll down a little to find the “Accept payments using your Amazon account” checkbox. Check it and notice the Seller ID and Client ID fields. We'll get those in the next steps. (Keep the FoxyCart admin open in a browser tab so you can copy/paste the values.)
  5. The Seller ID can be found in your Amazon Payments account on Seller Central
    1. Login to your Seller Central account
    2. If not already selected, choose Amazon Payments Advanced (Production View) from the drop-down in the menu bar. (This should be to the left of the magnifying glass icon in the top right. Depending on your browser screen size, this might be a little double-arrow icon you need to click.)
    3. On the right side choose SettingsIntegration Settings
    4. The Merchant ID shown is the value for Seller ID in your FoxyCart configuration screen
  6. The Client ID refers to your Login with Amazon Client ID. To get this value:
    1. Login to your Seller Central account
    2. Select Login with Amazon from the drop-down menu in the menu bar. (This should be to the left of the magnifying glass icon in the top right. Depending on your browser screen size, this might be a little double-arrow icon you need to click.)
    3. Select the application configured for your account, on the left.
    4. The Client ID shown is the value you will enter for Client ID in the FoxyCart configuration page.

Setting up the Instant Payment Notifications

Important: Ensure this step is completed for your Amazon Payments account, as without it transactions could fail to complete correctly.

The Instant Payment Notification (IPN) feature allows FoxyCart to be informed about any delayed payment status changes that may occur at Amazon.

To add this setting:

  1. Login to your Seller Central account
  2. Head to “Integration Settings” under the “Settings” menu.
  3. For the “Integrator URL” setting, enter the URL https://FOXYCART-STORE-DOMAIN/ipn.php.
    1. If your FoxyCart store domain is mystore.foxycart.com, your IPN URL would be https://mystore.foxycart.com/ipn.php.
    2. If you had a custom SSL subdomain for your store like secure.mystore.com, your IPN URL would be https://secure.mystore.com/ipn.php.

Using multiple domains?

In some cases, you might be using multiple domains, so may need to add additional Allowed Login Domains. To do so, you:

  1. Select “Login with Amazon” from the drop-down at the top of the page.
  2. Select the store from “Applications” on the left-side of the page.
  3. Under “Web Setting” in the main body of the page, click the “Edit” button.
  4. Add each domain used by the site under “Allowed Javascript Origins” by clicking “Add Another“.

Testing

Obtaining a Test Account

When you first access the Sandbox environment through Seller Central, Amazon recommends configuring some test buyer accounts to help with your integration testing. These test accounts can be modified to suit most use cases, including the addition of shipping addresses that might violate a business rule your company has about where items can be shipped. You can configure these accounts from Seller Central by going to the “Integration” tab and selecting “Test Accounts”.

With the customization available through Seller Central, Amazon encourages you to test as many scenarios as you see fit through multiple test buyer accounts.

Troubleshooting & Interpreting Response Codes

"We're Sorry" Error

If when trying Amazon Payments after entering your credentials in the administration you receive an error notice in the popup, look for the “Show Details” link and click that to see technical details for what went wrong. Usually you will see the following:

 Error Summary
 400 Bad Request
 The domain on which you are using the JavaScript SDK has not been whitelisted for your application.

This occurs when your Login with Amazon configuration is incorrect for your domain. To remedy this, login to your seller central account and choose 'Login with Amazon' from the drop-down menu at the top menu bar. Next, click the name of your configured application in the left sidebar and look for the section named 'Web Settings'. In the web settings section look for a configuration value called “Allowed JavaScript Origins” and ensure the value entered there matches the secure url on which the 'Pay with Amazon' button lives. For example, if the button was clicked from https://yourstore.foxycart.com/checkout/cart then the value for 'Allowed JavaScript Origins' should be https://yourstore.foxycart.com

Important Notes and Caveats

Possible Action: Datafeed Handling

An Amazon FPS transaction may not process instantly, so at the time we process the initial transaction, we don't know if it was approved or not. To handle this, transactions are initially marked as pending, and when we get a confirmation from Amazon on the result of the transaction, we update it accordingly. Each time the status changes, a datafeed will be sent to your endpoint if configured with the transaction details and the status node will be present.

The status node can contain one of three different values: pending, approved or rejected. Depending on the types of actions you're needing to perform at your datafeed endpoint, you need to make sure the appropriate status value is present.

User Notes and Experiences

If you have tips, experience, or helpful notes related to this gateway that would benefit others, please add them below, including your name and the date. We reserve the right to edit or remove comments that don't add value to this page.

Site Tools