Overview↑ Back to top
Amazon FPS (Flexible Payments Services) for WooCommerce sends your customers to Amazon’s secure payment website to enter their payment information. Customers can use their credit card, bank account or Amazon Payments balance to pay for their order. Amazon FPS includes full support for WooCommerce Subscriptions and Pre-Orders. You’re just moments away from getting the gateway setup and accepting payments!
Installation↑ Back to top
- Download the extension from your dashboard
- Go to Plugins > Add New > Upload and select the ZIP file you just downloaded
- Click Install Now, and then Activate
- Go to WooCommerce > Settings > Checkout > Amazon FPS and read the next section to learn how to setup and configure the plugin.
Setup and Configuration↑ Back to top
First, open the Amazon AWS Account menu and click on “Security Credentials”:
Login to your Amazon account:
Click the plus symbol next to “Access Keys”:
Then click on “Create new access key”:
Your new access key and secret key will be displayed. Copy these down, as once you exit this page you will not be able to view your secret key again. You may want to click the “Download Key file” link so you can save a copy of these keys on your computer.
Now, log into your WooCommerce store and browse to WooCommerce > Settings > Checkout > Amazon FPS. Enter the access key and secret key into the text boxes:
Click “Save” and that’s it! You are now ready to accept payments via Amazon FPS! If you want to tweak settings and customize the checkout process, keep reading.
Extension Settings↑ Back to top
- Enable / Disable – This will enable the gateway to be used by customers to checkout.
- Title – This is the text shown for the payment during checkout and on the Order Received page.
- Description – This is the text shown under the title during checkout. Limited HTML is allowed. In the “Sandbox” environment, this section will also display a notice.
- Environment – This is the API environment used for transactions, defaulting to “Production”. Your production access & secret key will work in the “Sandbox” environment, but you must first sign up for an FPS Sandbox account.
- AWS Access Key – This is the AWS access key for your Amazon account. Sign into your AWS account to get this by following the instructions above.
- AWS Secret Key – This is the AWS secret key for your Amazon account. Sign into your AWS account to get this by following the instructions above.
- Debug Mode – Enable this is you are having issues correctly processing transactions. You can either log API requests / responses directly to the checkout / thank you page, save them to the WooCommerce Error Log (found under WooCommerce > System Status > Logs), or both. As a best practice, please do not enable this unless you are having issues with the plugin.
Checkout Flow↑ Back to top
After entering their information on the checkout page, the customer can select Amazon as a payment method:
After clicking “Place Order”, they are redirected to Amazon to sign into their account:
If they are shipping to a new address that is not listed in their Amazon account, they will be prompted to re-enter their payment information:
They can then choose the billing address associated with the payment method:
Finally, they will review and confirm their payment:
After clicking “Confirm”, the customer will be redirected back to the “Order Received” page on your store. At this point, their payment will be processed.
WooCommerce Subscriptions / Pre-Orders Usage↑ Back to top
Amazon FPS is fully compatible with all features for the Subscriptions and Pre-Orders extensions. Because the recurring token provided by Amazon FPS limits your ability to change payment dates and amounts, the multi-use token is used to improve that flexibility. However, this results in a total lifetime billing amount being shown to customers when they are checking out:
This is calculated based on the recurring total and length of the subscription. It is the maximum amount that may be billed to the customer during the lifetime of the authorization, it will never be charged all at once. After this limit is reached, the customer must renew the authorization by signing up for a new subscription. Most subscriptions should never reach this limit.
For Pre-Orders, Amazon requires an expiration date for the payment token received. For your convenience, this is set to 6 months after the pre-ordered product is set to be released, so you may safely push your release date back a maximum of 6 months before the customer must cancel their pre-order and re-order.
Troubleshooting↑ Back to top
Having trouble? Follow these steps to make sure everything is setup correctly before posting a support request:
- Check that your AWS Access Key and Secret Key are correct.
- Double-check that your AWS Access Key and Secret Key are correct.
- Enable debug mode to the checkout page and review the errors messages that Amazon is providing.
- Enable debug both to the logs and submit a support ticket, with the log found under WooCommerce > System Status > Logs as an attachment.
IPN Issues↑ Back to top
Amazon FPS relies on Instant Payment Notifications (IPN) sent from Amazon to your WooCommerce store to properly update the payment status for each order. Your store must receive these IPNs properly in order for orders to be processed correctly. Check the IPN status under WooCommerce > System Status to confirm that you can receive IPNs. If you continue to have issues with IPNs, please enabled debug mode to the log and submit a support request with the log file as an attachment.
For Developers↑ Back to top
Filters↑ Back to top
There are two filters available to customize the transaction information that is sent to Amazon:
apply_filters( 'wc_amazon_fps_cbui_pipeline_parameters', $this->parameters, $this->order );which passes in the pipeline parameters and the WC_Order object. Use this filter to modify the payment description, add a co-branding logo, and more.
apply_filters( 'wc_amazon_fps_api_request_parameters', $this->parameters );which passes in the request parameters. Use this filter to modify the charge description.