CONTENT

Overview

In order to be complaint with the PSD2, Amazon Pay introduced SCA for their transactions.

The SCA Upgrade introduces a “Confirmation Flow” to handle Multi-Factor Authentication (MFA) when it is required.

When MFA is required, the Confirmation Flow shows the credit card issuer’s MFA challenge to the buyer. After the buyer interacts with the Confirmation Flow (for example, completes the MFA challenge), the buyer is returned to the merchant’s site (for example, order confirmation page).

Please update the AmazonPay checkout workflow after a buyer initiates their order completion and before you call the Authorize Operation.

Changes

New JavaScript function confirmationFlow()

Due to MFA, it is necessary after a succesful confirmation of an order to start a new call, the ConfirmationFlow.

To start the workflow, please

  • execute a Confirm on the order on the BNP Payment platform, after you receive a result

  • start the confirmationFlow in case of success with "confirmationFlow.success()"

  • in case of failure "confirmationFlow.error()" aborts the process.

Implementation of the new Javascript call is shown below. This has been optimized for our BNP merchants.


This action should be triggered by clicking on the “Buy Now” button!

function confirmationFlow()
{
	// Get resultCode from BNP call AmazonAPA.aspx, EventToken: COD
	var resultCode_BNP = Payment platform call to get the ResultCode from the Confirm, AP call COD or SCO.
	// Your AmoazonSellerID / AmazonMerchantID
	var amazonSellerId = 'Your_SellerID';
	// Amazon order reference generated by Address Widget
	var orderReferenceId = 'Your_Order_Reference';
	//Initiate confirmation flow
	OffAmazonPayments.initConfirmationFlow(amazonSellerId, orderReferenceId, function (confirmationFlow)
		{
			if(resultCode_BNP = '00000000')
			{
				confirmationFlow.success(); 
			}
			else
			{
				confirmationFlow.error();
			}
		}
	);
}


Please also refer to https://developer.amazon.com/de/docs/eu/amazon-pay-onetime/sca-upgrade.html for additional guidance.

Merchant should be able to handle BNP's redirection ( URLSuccess / URLFailure ) with the result of the MFA Challenge.

URLSuccess / URLFailure for ConfirmOrderDetails (COD) and SetOrderDetails and ConfirmOrder (SCO) call


KeyFormatConditionDescription
1

URLSuccess

ans..256

M

The buyer is redirected to this URL if the MFA is successful.

2

URLFailure

ans..256

O

The buyer is redirected to this URL if the MFA is unsuccessful.

3

AuthorizationAmount

n..12

O

The amount to authenticate during MFA completion.
Use this parameter if you want to set a payment amount that is different than the OrderTotal provided in the SetOrderReferenceDetails operation call.
If this parameter is not set, the amount authenticated during MFA will be equal to the OrderTotal provided in the SetOrderReferenceDetails operation call.


On "Order Now" the merchant has to send the URLSuccess and URLFailure in the calls (EventToken=SCO | COD), because the redirect is executed after the MFA challenge.

After "Order Now" the Confirm (EventToken=SCO | COD) is executed on the payment and then the redirect to the challenge takes place using the JavaScript code shown above.

AmazonAPA.aspx

The following event calls at the BNP Payment platform are affected by the changes. Please make sure to include the new parameters.


EventTokenActionDescription
1

SOD

SetOrderDetails

Transfer of amount payable and further information – controls also the payment methods selectable for an order at Amazon

2

GOD

GetOrderDetails

Request of order information, e.g. to get information about a newly selected delivery address. After a call with Eventtoken COD or SCO, GOD returns also the billing address of the customer

When Scope enters “payments:shipping_address” and “payments:billing_address” you receive the full delivery and shipping address after the display of the Address widget. Please transfer the OrderReferenceId on call up.

3

SCO

SetOrderDetailsAndCon-firmOrder

Order confirmation again with transfer of amount payable and further information – with this Eventtoken the order is finalized. After successfully confirmation authorizations can be submitted to Amazon immediately.

4

COD

ConfirmOrderDetails

Optional, if amount payable and further information should not transferred once more for order confirmation (BNP recommends using the Eventtoken SCO for order confirmation.)

5

COR

CloseOrderReference

Closing an Amazon order. Captures related to open authorizations as well as credits are possible furthermore

User Flow and Sequences

Flow

  1. Clicks on AmazonPay button to sign-in

  2. Chooses an address from the widget

  3. Chooses payment method from the widget

  4. Confirms the order

Option 1: SCO

This is the recommended option.

Option 2: SOD and COD


  1. The first call is to be made to ConfirmationFlow - with this, AmazonPay can handle the MFA if required. Here is confirmationFlow error/success to be set. Reference to the Amazon Pay Widgets.js file already used for the other widgets.

  2. Call SetOrderDetails (SOD) including OrderTotal

  3. Call ConfirmOrderDetails (COD) set URLSuccess/URLFailure parameter with a returnURL value


As shown above, we recommend the SCO call that is a single step to set the order details and also to confirm the order Details.

Option 3: MFA Failure


We recommend our merchants to only work with the Payment platform status or Payment platform response code in these cases.


Status =>Abandoned:

Status =>Failure:

  1. If the customer fails or abandons the challenge, the customer is redirected to the URLFailure.

  2. Logout the user.

  3. Cancel the order by calling “Reverse.aspx”

Cancel Order by Calling “Reverse.aspx“

In order to reverse a complete order with Amazon Pay with the function „CancelOrderReference“, please request to https://paymentpage.axepta.bnpparibas/reverse.aspx

More and detailed information is found in the official BNP documentation here: Amazon Pay Manual

Status

If the MFA is successful, the redirection is done to URLSuccess , if not the redirection is done to URLFailure .


Authentication Status ValueDescriptionRecommended Action
1

Success

Successful / not necessary

No action needed

2

Failure

Failed

Redirection FailureURL or forwarding to page in order to use a payment method other than Amazon

3

Abandoned

Failed

Redirection FailureURL or to page to replace the order sing Amazon Pay and complete the MFA challenge



The Amazon Authentication Response is given back to the shop via the Payment platform in the Response Parameter = amazonstatus.

Example: amazonstatus=Abandoned



In the Amazon SCA manual point 3 (Amount consistency)

The AuthorizationAmount value (in the Authorize operation) must always match the CaptureAmount value (in the Capture operation).

If not the Capture operation call response will be handled asynchronously; the Capture object State value is set to Pending and may not be processed in real time, even if it is requested within seven days of the Authorize operation call!


  • No labels