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
Key | Format | Condition | Description | |
---|---|---|---|---|
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. |
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.
EventToken | Action | Description | |
---|---|---|---|
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
Clicks on AmazonPay button to sign-in
Chooses an address from the widget
Chooses payment method from the widget
Confirms the order
Option 1: SCO
This is the recommended option.
Option 2: SOD and COD
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.
Call SetOrderDetails (SOD) including OrderTotal
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:
If the customer fails or abandons the challenge, the customer is redirected to the URLFailure.
Logout the user.
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 Value | Description | Recommended 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!