6.3 Payment Flow with 3D Secure 2 authentication

Initiate a payment with 3D Secure information
Authentication data in the pay interface is required in 3D Secure 2 authentication flow

FieldsDescription
authenticationTypeIn 3D Secure 2 flow should be "3D_SECURE"
threeDSRequestDataObject, identify the data required in the processing.

Handle the authentication process

If your server receives a response containing an IdentifyAction, you are required to perform the 3D Secure 2 device fingerprinting.

  1. Get IdentifyAction elements: threeDSServerTransID ,threeDSMethodUrl
  2. Create a JSON object with thethreeDSServerTransID and YOUR_3DS_METHOD_NOTIFICATION_URL <Absolute URL to where the issuer can post the result of the 3D Secure device fingerprinting process>
  3. Encode the JSON object in Base64 URL encoding as threeDSMethodData
  4. Render a hidden HTML iframe in the Cardholder’s browser and send a form with the field threeDSMethodData via HTTP POST to the threeDSMethodUrl you received from IdentifyAction.
  5. Wait for the issuer's response posted in your YOUR_3DS_METHOD_NOTIFICATION_URL within 10 seconds of sending the HTTP POST. If you do not get any response within 10 seconds, proceed to the next step.
  6. Make a POST 3dsIdentify request from your server and include the threeDSCompind and uqOrderId as parameters.
    If you receive a response to YOUR_3DS_METHOD_NOTIFICATION_URL within 10 seconds, send {"threeDSCompInd": "Y"} . Otherwise, send {"threeDSCompInd": "N"}.

If your server receives a response containing a ChallengeAction, this means that the issuer would like to perform additional checks in order to verify that the shopper is indeed the cardholder.

  1. Get the ChallengeAction elements, threeDSacsURL
  2. Open a dynamic iFrame on the browser side, and refer to the address received in the threeDSacsURL parameter
  3. UPAS will redirect the browser to the merchant side threeDsReturnUrl after the challenge flow.