Amazon Pay

Amazon Pay

Before You Begin…

Accepting donations, or selling alcohol, smoking/tobacco or higher risk products?

Before getting started - we recommend ensuring that the types of products/services you will be selling through Amazon Pay will meet their Acceptable Use policy. Amazon currently do not allow donations to be accepted, or to sell alcohol or smoking/tobacco products, along with a number of other restrictions. If you're not sure if your business type is supported, we recommend reaching out to Amazon Pay support to clarify with them.

Check with Amazon about your Sales Velocity

Some of our users have run into errors accepting payments for larger dollar amounts. This is due to Amazon's “sales velocity”. This is beyond our control at FoxyCart, but is worth checking with Amazon about if you sometimes get large orders or if you're expecting more sales than usual.

Per Customer Billing Limits (per month)

Amazon limits the monthly charges a new Seller can make to a customers account when they chose to store their payment information with your store. Please see their policy for more information and how to contact them to request an increase.

Setting Up Amazon Pay for FoxyCart

  1. Login to your store's Foxy administration, and proceed to the “payments” page.
  2. If your store has multiple payment sets, ensure that the correct payment set is active.
  3. Check the option for “Accept payments using your Amazon Pay account”, and click the “Connect to Amazon Pay” button shown there.
  4. You will be redirected over to Amazon Pay - where you can either log in to your existing Amazon Pay account, or create a new one if you don't already have an account. Complete the required steps and provide all of the necessary information for your account.
  5. Once completed, you will see a page letting you know the process is complete with a button labelled “Transfer credentials to FoxyCart”. Click this button and you will be redirected back to your store's Foxy administration - with your Amazon Pay credentials automatically added to your store.

Adding Amazon Pay credentials manually

If you haven't previously connected your Amazon Pay to Foxy, we strongly recommend using the approach detailed above to link your Amazon Pay account to your Foxy store. If you have existing Amazon Pay credentials that you need to add to your Foxy store though, you can follow these instructions:

  1. Login to your store's Foxy administration, and proceed to the “payments” page.
  2. If your store has multiple payment sets, ensure that the correct payment set is active.
  3. Check the option for “Accept payments using your Amazon Pay account”, and if the fields aren't already visible, click the “Enter Manually” link.
  4. All three fields can be found in your Amazon Pay account on Seller Central
    1. Login to your Seller Central account
    2. If not already selected, choose Amazon Pay 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. In the top menu choose IntegrationMWS Access Key
    4. The Seller ID shown is the value for Seller ID in your FoxyCart configuration screen.
    5. The Client ID shown is the value you will enter for Client ID in the FoxyCart configuration page.
    6. Make sure your solution provider is FoxyCart. If it isn't - you should complete the process detailed above instead.
    7. To obtain the MWS AuthToken click the “Show Secret” button. It should be in the format of amzn.mws.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx where the x's are hex characters (letters and numbers). Copy and paste its value to the appropriate field in the FoxyCart configuration page.
  5. Click “Update Payment Gateway” at the bottom of the page to save the new credentials

Setting up the Instant Payment Notifications

Important: Ensure this step is completed for your Amazon Pay 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. Make sure you're on your Production (not Sandbox) account. (If you're on Sandbox, you'll see “Sandbox” in the upper left, under the Amazon logo.)
  4. 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.

Whitelist your FoxyCart Domain

  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 your FoxyCart checkout domain. For example, if your checkout is at https://yourstore.foxycart.com/checkout, then the value for 'Allowed JavaScript Origins' should be https://yourstore.foxycart.com/
  5. Add each domain used by the site under “Allowed Javascript Origins” by clicking “Add Another“.
  6. In the next setting for “Allowed Return URLs”, you'll also need to enter in a specific URL for your checkout. Again, if your checkout is https://yourstore.foxycart.com/checkout, you will need to enter an “Allowed Return URL” of https://yourstore.foxycart.com/checkout?fc_payment_method=amazon_aws


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

Resolving Suspended Merchant Agreements

If a customer's subscription has ended up in a suspended state due to a payment method being declined - they will need to update their payment details in their Amazon Pay account. You can send them to this page for steps they can take to bring the agreement back into an open state.

"We're Sorry" Error

If when trying Amazon Pay 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/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