Simulate assisted 3DS authentication
Simulate Assisted 3DS authentication allows you to emulate the behavior of an assisted 3D Secure verification process. This facilitates testing and validation of your integration’s handling of authentication flows, ensuring a smoother user experience during real-world transactions.
Prerequisites
The partner must subscribe to the following webhook to receive the payload containing the OTP that will need to be passed to the end-user.
CARDS.3DS.AUTHENTICATION | Webhook message sent by the MatchMove platform to share the OTP (to be delivered to the Cardholder) and authentication details to the API consumer |
API Workflow
Note: The set of endpoints below is only available and enabled in the staging environment.
These endpoints allow you to simulate Send OTP, Resend OTP, and Verify OTP, and test Assisted 3DS Authentication before the live environment.
1
Send OTP
The Send OTP (POST /simulate/cards/authentication/start) will simulate an authentication request for an OTP during a card authorization process.
Request parameters:
bin_range- Required. First 10 digits of the card number. Numbers only.card_proxy_number- Required. Proxy number (or the assoc_number) of the card. Numbers only. Length must be 12 digits.card_network- Required. Card network.
Send OTP request
curl --location 'https://{{3ds_simulation_base_url}}/{{program_code}}/v1/simulate/cards/authentication/start' \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '{
"bin_range":"5358351424",
"card_proxy_number":"000004864174",
"card_network":"MASTERCARD"
}'Send OTP response (success)
{
"message": "Verification started",
"transaction_authentication_id" : "fc35d12cc5c14b3187fbee26368467d9"
}Send OTP response (card network validation error)
{
"id": "0cbf291b-7b86-480f-a185-77fbba14fde0",
"status": 400,
"code": "missing_required_param",
"title": "Parameter validation failed",
"detail": "card_network is a required field",
"timestamp": "2023-05-18 12:57:19.107844122 +0000 UTC"
}Send OTP response (invalid card error)
{
"id": "0cbf291b-7b86-480f-a185-77fbba14fde0",
"status": 400,
"code": "card_not_supported",
"title": "Unsupported Card",
"detail": "Currently card is not supported",
"timestamp": "2023-05-18 12:57:19.107844122 +0000 UTC"
}2
Resend OTP
The Resend OTP (POST /simulate/cards/authentication/resend) will simulate a fresh authentication request for an OTP during a card authorization process. This process is needed when the previous OTP has expired and is invalid for authentication.
Request parameters:
transaction_authentication_id- Required. Transaction ID received from Send OTP response.
Resend OTP request
curl --location 'https://{{3ds_simulation_base_url}}/{{program_code}}/v1/simulate/cards/authentication/resend' \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '{
"transaction_authentication_id":"fc35d12cc5c14b3187fbee26368467d9"
}'Resend OTP response
{
"message": "Message resent"
}3
Verify OTP
The Verify OTP (POST /simulate/cards/authentication/verify) will simulate the verification of the 3DS OTP entered by the customer. This OTP must be the same OTP that was sent and received in any of the allowed communication channels.
Request parameters:
transaction_authentication_id- Required. Transaction ID received from Send OTP Responsetransaction_authentication_value- Required. This is the 3DS OTP that was received from the end-user (the OTP sent through the allowed communication channels). Must be of length = 6.
Verify OTP request
curl --location 'https://{{3ds_simulation_base_url}}/{{program_code}}/v1/simulate/cards/authentication/verify' \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '{
"transaction_authentication_id":"fc35d12cc5c14b3187fbee26368467d9",
"transaction_authentication_value":"595347"
}'Verify OTP response (success)
{
"message": "Verification done"
}Verify OTP response (invalid OTP)
{
"id": "0cbf291b-7b86-480f-a185-77fbba14fde0",
"status": 400,
"code": "invalid_value_param",
"title": "Parameter validation failed",
"detail": "transaction_authentication_value contains invalid value",
"timestamp": "2023-05-18 12:57:19.107844122 +0000 UTC"
}Related Links
On this page
- Simulate assisted 3DS authentication