Pay with Amazon

Posted in Payment methods

german version

Pay with Amazon free plugin included native in VirtueMartPay with Amazon is a payment service provided by Amazon Payments Europe S.C.A..
Millions of customers have an Amazon account with stored shipping addresses and payment methods. This checkout process allows your customers to login using their Amazon account, retrieve their Amazon shipping addresses and pay with one of the payment methods stored in their Amazon account.

Register your seller account at payments.amazon.co.uk for a GBP account.

Register your seller account at payments.amazon.de for a EUR account.

Hosting Requirements

  • VirtueMart version 2.6.16 or above and 3.0.6 and above
  • cURL for PHP
  • DOM/XML for PHP

Configuring Pay With Amazon in VirtueMart

Account Parameters

Environments

  • Sandbox: the sandbox mode helps you to test the payment method, and to simulate the buyer experience as well as the merchant experience to better understand how the payment behaves. In sandbox mode, you can also simulate decline handling.
    This mode is not suitable for a live store and you should avoid displaying a sandbox experience to buyers.
  • Live: select this option to set your shop into live mode to actually receive orders and payments.

Region

Select the country of the merchant's Amazon payment account.

Multilingual website: the button Pay With Amazon is only displayed if the shopper is browsing the website in the language of the country the seller has been registered.

Seller Id

Your Merchant ID (Seller ID) is your unique identifier for all your transactions. You can find your Merchant ID in SellerCentral.

  1. Go to Amazon SellerCentral.
  2. Click on Settings which is on the top right of the page.
  3. Click on Integration Settings.
  4. Copy the Merchant ID from Amazon SellerCentral.

integration-settings

Access Key and Secret key

Fill these fields with your Amazon payment credentials. You can find the credentials in Amazon SellerCentral.

The Secret Access Key is used to calculate the signature included in the API requests. You must keep this Access Key secret, and never give it away. The same keys are use for the Sandbox and the live environment.

  1. Go to Amazon SellerCentral.
  2. Click on the link Integration.
  3. Click on MWS Access Key
  4. Generate your MWS Access Key
  5. Copy/paste the Access key ID and Secret Access Key.

You can generate your MWS access keys in SellerCentral. Please go to “Integration / MWS Access Key”

Keys1

Keys2

Log in again with your Amazon Payments account credentials

Keys3

Make sure that you register the MWS Access Key for your own account.

Keys4

Please read and accept the license agreement.

Keys5

The Access Key ID and the Secret Key, together with the merchant id, will be presented to you on the next page. You can always review the key information in SellerCentral on the “Integration / MWS Access Key” page.

Keys6

Account Options

ERP Mode

If you are using an ERP, you can let your ERP synchronise your order management.

  • Enabled: the ERP synchronises the order management.
  • Disabled: VirtueMart synchronises the order management.

Authorization Mode

If you have enabled the ERP mode, three options are available:

  • Synchronous: An authorization request is sent to Amazon, which returns the authorization status in real time.
  • Asynchronous: In asynchronous mode, Amazon does not process the authorization in real time. VirtueMart sends an authorization request to Amazon and the IPN will return the final process status.
  • Done by ERP: turns off all automated authorization and capture functionality as well as IPN reception and/or polling, and disables any admin UI functionality that may trigger authorizations or captures.

If you have disabled the ERP mode, two options are available:

  • Synchronous: An authorization request is sent to Amazon, which returns the authorization status in real time.
  • Asynchronous: In asynchronous mode, Amazon does not process the authorization in real time. VirtueMart sends an authorization request to Amazon and the IPN will return the final process status.

Capture Mode

  • Immediate Capture: the payment is directly captured once the shopper has confirmed his order.
  • Capture Delayed: the amount will be captured in VirtueMart's administration, when the merchant sets the order status to Capture transaction. The Capture should be linked to the shipping of the order

If you want to use the option Immediate Capture, it is mandatory that you get white-listed by Amazon Payments first.

IPN Reception

IPN is the acronym for Instant Payment Notification. IPNs are used by Amazon Payments to send feedback concerning the status of each request to the shop. In case of a live environment, you must have a valid SSL certificate installed on your server. If you do not have an SSL certificate, the IPN reception should be disabled. In that case, status updates are polled by the Amazon system plugin. The polling frequency is set in the Amazon system plugin. Click on the link provided in the payment configuration.

Merchant's URL IPN

If you have selected Enabled for the IPN reception parameter, this option is displayed.

In case of a live environment, you must have a valid SSL certificate installed on your server to use IPNs.

The auto generated URL shall be entered in the Merchant URL field of the integration settings in the Amazon SellerCentral.

  1. Got to Amazon SellerCentral.
  2. Click on Settings which is on the top right of the page.
  3. Click on Integration Settings.
  4. In the same line as Instant Notification Settings: click on the Edit button
  5. Copy the Merchant's URL IPN from VirtueMart Amazon Payment Configuration and paste it into the Merchant URL field in the Amazon SellerCentral. You can leave the integrator URL empty.
  6. Click on the Update button

merchant-url

Banner for the Login Screen

To inform the buyer for which shop he is logging in with his Amazon account, you should upload the banner of your shop in Sellercentral (under "Settings", “Integration Settings”, “Pop-up Window Banner”, see screenshot above). Make sure you upload the banner for right environment (Production and/or Sandbox).

Order Status

Order is Confirmed

With this option you can select the status to which an order will be set after the shopper has confirmed his order.

Successful Authorization

If the capture is not done immediately, the order will be set to this status after a successful authorization.

A capture of the payment is done immediately, if the cart contains download products, or if the option Capture mode is set to Immediate.

Captured Payment

During the checkout, the order will be set to this status after a successful capture.

If the cart contains download products, or if you have set the capture mode to Immediate capture, the payment is captured immediately once the shopper has confirmed his order. In this case, the order is set to this status after a successful capture.

If you have set the capture mode to Delayed capture, when the shopper confirms his order, VirtueMart only requests an authorization from Amazon.
The payment will be captured in VirtueMart's administration, when this order status is selected.

Refund Payment

When this status is selected, a refund request is sent to Amazon.

Cancel Payment

The order is set to this status when a payment has been declined or when the seller has selected to cancel the order.

Advanced workflow settings

Soft Decline

An authorization request can be declined in case of InvalidPaymentMethod. A typical case of an InvalidPaymentMethod is when the expiration date of the credit card is no longer valid and must be updated.

If you have disabled the soft decline, the order status is set to Cancelled.

If you have enabled the soft decline option:

  • Asynchronous mode: an email is sent to the shopper inviting him to visit the Amazom Payment Website, and update the payment method.
  • Synchronous mode: the Wallet widget is redisplayed to the shopper, and he is allowed to select another payment method, and confirm the purchase again.

Sandbox Error Simulation

In sandbox mode, it is possible to simulate the buyer's experience as well as various error conditions. This enhances the understanding of the buyer's experience in case something goes wrong during the checkout.

Sandbox error simulation in Authorize:

  • PaymentMethodNotAllowed
  • AmazonClosed
  • InvalidPaymentMethod
  • AmazonRejected
  • TransactionTimeOut
  • ExpiredUnused
  • Pending

Sandbox error simulation in Capture:

  • PaymentMethodNotAllowed
  • AmazonClosed
  • InvalidPayment Method
  • AmazonRejected
  • TransactionTimeOut
  • ExpiredUnused
  • Pending

Sandbox error simulation in Refund:

  • AmazonRejected

Restrictions

Minimum Amount

You can restrict the Pay with Amazon payment to a minimum order amount. If you do not enter any value, Pay With Amazon payment is available with no minimum condition. Enter the minimum amount in the vendor currency.

Maximum Amount

You can restrict the Pay with Amazon payment to a maximum order amount. If you do not enter any value, Pay With Amazon payment is available with no maximum condition. Enter the maximum amount in the vendor currency.

Categories of unsupported items

Restrictions apply to the items that can be paid using Amazon Payments (e.g. weapons). You can flag those products by adding them to the product category: Not available via Amazon Payments. This category does not need to be published. If a product of this product category is present in the cart, Pay with Amazon will not be offered to the buyer.

Supported Countries

You can restrict the Pay with Amazon payment to certain delivery countries. If you do not select any country, Pay With Amazon payment is available for all delivery countries.

IP white listing

For testing or debugging purposes, you can restrict the Pay With Amazon payment in your shop to certain IPs only. Pay with Amazon will be shown to the visitors coming from those IPs.

Enter one IP address per line.

Template

Sign In Button

Select the Button widget size and Button widget color.

Addressbook Widget and Wallet Widget

The Wallet widget is where the customer selects his payment details. Enter a width and height which fits your cart page.

The Address Book widget is where the customer select the shipping address. Enter a width and height which fits your cart page.

Debug Section

debug: if set to ON all APIs calls during the checkout are displayed on the frontend.

Log: if it is set to ON, all API calls (including IPN notifications) are saved in a log file. The log file is accessible via the menu Tools > Log. The filename is amazon.<virtuemart_paymentmethod_id>.log.php. You can preview the logs by clicking on the filename. You can also download it via FTP.

The virtuemart_paymentmethod_id is the number in the ID column in the payment listing page.

Logs should only be turned ON for debugging purposes. Errors are always logged in the file com_virtuemart.log.php. The log file is accessible via the menu Tools > Log.

State / Province / Region for United Kingdom

For United Kingdom, VirtueMart uses the Countries of the United Kingdom, but Amazon uses Counties of United Kingdom.
The best solution is to update the state list in VirtueMart.

  1. Go to Configuration > Countries.
  2. Click on the link States close to United Kingdom.
  3. Create new States based on Counties.

Testing your integration with the Sanbox mode

The sandbox enables you to test your integration before going live. You can create sandbox test accounts in Sellercentral (Integration -> Test accounts) and test payment transactions without sending real money or providing real financial information.

Downloadable products

Digital items are identified by a weight of 0.

Pay With Amazon checkout workflow

Pay with Amazon is not just a payment method. It is a complete checkout process, presented as a One Page Checkout.

Overview

The Pay With Amazon checkout workflow is:

      1. Buyer adds an item into the cart, goes to the cart page.
      2. Buyer clicks the Pay with Amazon button, Amazon popup appears, buyer logs in with his Amazon buyer account.
        checkout-login
      3. Buyer is forwarded to the Amazon Payments-specific checkout process.
        If physical goods are in the cart:

If physical goods are in the cart:

checkout-cart-view

      1. Shop presents buyer with addressbook widget, buyer selects a delivery address in addressbook widget. The shop then requests ZIP code, city and country of the selected delivery address from the Amazon API, checks if this is a supported shipping destination and lists all supported shipping methods for the destination as well as their prices. Buyer selects a shipping method if more than one shipping method is available.
      2. Shop sends the transaction amount to Amazon, and displays the wallet widget; buyer selects a payment method in wallet widget.
      3. The buyer reviews the order and checks out.
      4. In case of synchronous authorization, the shop tries to authorize the order amount.
      5. The buyer sees the Thank you page.

If only digital goods are in the cart:


checkout-cart-view-digital

    1. Shop sends the transaction amount to Amazon, and displays only the wallet widget; buyer selects a payment method in the wallet widget. A note is added to the buyer to inform him that the total amount of the order will be charged at order placement.
    2. the buyer reviews the order, and checks out.
    3. In case of synchronous authorization, the shop tries to authorize the order amount.
    4. The buyer sees the Thank you page.

Difference between Pay with Amazon and other payment methods

Using Pay with Amazon is similar to other payment methods. There is one important difference though: Pay With Amazon returns the billing address only after a successfull authorization.

Pay With Amazon button in your template

From version 2.6.10, a new feature has been added to allow payment plugins to have their own cart template. If you are using a 3rd party template, check if it includes the payments_sign_in line.

You can also place this button anywhere in your template by adding the line mentioned in the tutorial above. Once the buyer clicks on that button, he is redirected to the Pay With Amazon checkout.