CONTENT OverviewIn 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. ChangesNew 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.
Note |
---|
This action should be triggered by clicking on the “Buy Now” button! |
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
linenumbers | true |
---|
| 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. 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.aspxThe 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 SequencesFlowClicks on AmazonPay button to sign-in Chooses an address from the widget Chooses payment method from the widget Confirms the order
Option 1: SCOThis 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
Info |
---|
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
Info |
---|
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 StatusIf 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 |
Info |
---|
The Amazon Authentication Response is given back to the shop via the Payment platform in the Response Parameter = amazonstatus. Example: amazonstatus=Abandoned |
Note |
---|
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! |
|