Service to start a session in the 3DS Server authentication flow.
The following steps will serve as a guide for using it:
1. Create an HTTP POST request on your server with the endpoint /sessions
2. In the request header, enter the bearer token, which will allow you to register as an authorized user. This header is mandatory.
3. The header should also contain the Content-Type value of "application/json".
4. Enter in the request body the minimum required fields, which are:
- acctNumber
- cardExpiryDate
- purchaseAmount
- redirectURI
- purchaseCurrency
The description of the request and response fields, data type, length and other specifications can be viewed in the responses section, in the data schema.
5. Send the request and get a response.
6. You can view the authentication status by redirecting to the "redirectURI", data returned in a successful response or with status "Y".
To obtain authentication states different from "Y", you can modify the "acctNumber" field of the request with the test card numbers given in this documentation.
Implementation of the v2x Contract
The implementation of a new contract is recommended, delivering the following outcomes:
For more details about the "redirect" action and its implementation, you can consult the specific documentation of the BRW authentication flow.
Improve authentication rates with additional data
We are pleased to invite you to visit the Additional Data section in our API documentation. This section offers crucial information to optimize the 3DS authentication process.
Including this additional data in your requests allows issuers to perform a more accurate assessment, which can considerably improve successful authentication rates.
We recommend reviewing these guidelines to make the most of the API functionalities and thus offer a more secure and efficient experience to your users.
For the 3RI flow, the same response contract is returned as in the Show Transaction of version 2.x. Values returned in the API response
Create a BRW or RI session
This endpoint allows you to create a new session for cardholder authentication.
Request
- Name
acctNumber- Type
- string
- is Required
- REQUIRED
- Description
Account number that will be used in the authorization request for payment transactions. Must pass Luhn Algorithm validation Accepted values: See ISO 7812 format
Example:4005580000000040Max length:19Min length:13
- Name
cardExpiryDate- Type
- string
- is Required
- REQUIRED
- Description
Card expiration date provided by the cardholder. Format: ym Example: 2506
Example:2506Max length:4Min length:4
- Name
purchaseAmount- Type
- string
- is Required
- REQUIRED
- Description
Transaction amount. Example: 20.5
Example:20.5
- Name
purchaseCurrency- Type
- string
- is Required
- REQUIRED
- Description
The 3-letter alphabetic code of the currency in which the purchase amount is expressed Values: See ISO 4217 format
Example:USDMax length:3Min length:3
- Name
redirectURI- Type
- string
- is Required
- REQUIRED
- Description
URL of the system where the cardholder will be redirected after completing an authentication transaction.
Example:https://www.placetopay.comFormat:uriMax length:256
- Name
threeDSAuthenticationInd- Type
- string
- is optional
- Description
Indicates the type of authentication request. Values:
PAYMENT_TRANSACTION(01) - Payment transactionRECURRING_TRANSACTION(02) - Recurring transactionINSTALMENT_TRANSACTION(03) - Installment transactionADD_CARD(04) - Add a cardMAINTAIN_CARD(05) - Maintain a cardCARDHOLDER_VERIFICATION_AS_PART_OF_EMV_TOKEN_IDV(06) - Cardholder verification as part of EMV token ID&VBILLING_AGREEMENT(07) - Billing agreementMASTERCARD_THE_PAYMENT_REQUEST_IS_FOR_AN_AGENT_PAYMENT_TRANSACTION(85) - Agent payment transaction for MastercardMASTERCARD_FOR_UNKNOWN_OR_UNDEFINED_FINAL_AMOUNT_BEFORE_PURCHASE_TRANSACTION(86) - Transaction for Mastercard with unknown or undefined final amount before purchase
Example:01Max length:2Min length:2
- Name
reference- Type
- string
- is optional
- Description
Transaction reference.
Max length:32
- Name
recurringFrequency- Type
- string
- is optional
- Description
Indicates the minimum number of days between authorizations. Required if threeDSAuthenticationInd equals
RECURRING_TRANSACTION(02) orINSTALMENT_TRANSACTION(03) Must be present whenever recurringExpiry is sent Example values: 31, 031, 0031Max length:4Min length:1
- Name
recurringExpiry- Type
- string
- is optional
- Description
Date after which no more authorizations will be made. Required if threeDSAuthenticationInd equals
RECURRING_TRANSACTION(02) orINSTALMENT_TRANSACTION(03) Must be present whenever recurringFrequency is sent Format: Ymd Example: 20250601Max length:8Min length:8
- Name
purchaseInstalData- Type
- string
- is optional
- Description
Indicates the maximum number of authorizations allowed for installment payments. The value must be greater than 1. Required if the merchant and cardholder have agreed to installment payments, i.e., if threeDSAuthenticationInd = 03. Omitted if it is not an installment payment authentication. Example values: 2, 02, 002
Max length:3Min length:1
- Name
threeDSAuthenticationInfo- Type
- threeDSAuthenticationInfo
- is optional
- Description
Information about how the 3DS Requestor authenticated the cardholder before or during the transaction.
- Name
threeDSChallengeInd- Type
- string
- is optional
- Description
Indicates if a challenge is requested for this transaction. If this parameter is not sent in the request,
NO_PREFERENCE(01) will be assumed as default value. Values:NO_PREFERENCE(01) - No preferenceNO_CHALLENGE_REQUESTED(02) - No challenge requestedCHALLENGE_REQUESTED_REQUESTOR_PREFERENCE(03) - Challenge requested (requestor preference)CHALLENGE_REQUESTED_MANDATE(04) - Challenge requested (mandate)NO_CHALLENGE_REQUESTED_RISK_PERFORMED(05) - No challenge requested (risk analysis performed)NO_CHALLENGE_REQUESTED_DATA_SHARED_ONLY(06) - No challenge requested (data shared only)NO_CHALLENGE_REQUESTED_CONSUMER_AUTH_PERFORMED(07) - No challenge requested (consumer authentication performed)NO_CHALLENGE_REQUESTED_WHITELIST_EXEMPTION(08) - No challenge requested (whitelist exemption)NO_CHALLENGE_REQUESTED_WHITELIST_PROMPT_REQUESTED(09) - No challenge requested (whitelist prompt requested)VISA_RESERVED(82) - Reserved for VISA
Max length:2Min length:2
- Name
threeDSRequestorID- Type
- string
- is optional
- Description
Identifier associated by the DS to the 3DS Requestor. Each Directory Server may impose specific format and character requirements on the content of this field.
Max length:35
- Name
acctInfo- Type
- acctInfo
- is optional
- Description
Additional information about the cardholder account.
- Name
acctID- Type
- string
- is optional
- Description
Additional account information provided by 3DS Requestor.
Max length:64
- Name
billAddrCity- Type
- string
- is optional
- Description
The name of the city of the billing address of the Cardholder associated with the card used for this purchase.
Max length:50
- Name
billAddrCountry- Type
- string
- is optional
- Description
The three-letter alphabetic code that relates to the country of the billing address of the Cardholder associated with the card used for this purchase. Accepted values: See ISO 3166-1 format
Max length:3
- Name
billAddrLine1- Type
- string
- is optional
- Description
First line of the postal address or local equivalent part of the billing address of the cardholder associated with the card used for this purchase.
Max length:50
- Name
billAddrLine2- Type
- string
- is optional
- Description
Second line of the postal address or local equivalent part of the billing address of the cardholder associated with the card used for this purchase.
Max length:50
- Name
billAddrLine3- Type
- string
- is optional
- Description
Third line of the postal address or local equivalent part of the billing address of the cardholder associated with the card used for this purchase.
Max length:50
- Name
billAddrPostCode- Type
- string
- is optional
- Description
ZIP or other postal code of the billing address of the cardholder associated with the card used for this purchase.
Max length:16
- Name
billAddrState- Type
- string
- is optional
- Description
Three-letter alphabetic code of the country subdivision that represents the state or province of the billing address of the cardholder associated with the card used for this purchase. Values: See ISO 3166-2 format
Max length:3
- Name
email- Type
- string
- is optional
- Description
The email address associated with the account that the Cardholder entered or that is archived with the 3DS Requestor.
Format:emailMax length:254
- Name
homePhone- Type
- PhoneProperties
- is optional
- Description
Accepted values according to specification See format ITU-E.164
- Name
mobilePhone- Type
- PhoneProperties
- is optional
- Description
Accepted values according to specification See format ITU-E.164
- Name
cardholderName- Type
- string
- is optional
- Description
Name of the cardholder.
Max length:45Min length:2
- Name
shipAddrCity- Type
- string
- is optional
- Description
Full or partial name of the city of the shipping address provided by the cardholder.
Max length:50
- Name
shipAddrCountry- Type
- string
- is optional
- Description
The three-letter alphabetic code that relates to the country of the shipping address provided by the Cardholder. Values: See ISO 3166-1 format
Max length:3Min length:3
- Name
shipAddrLine1- Type
- string
- is optional
- Description
First line of the postal address or local equivalent part of the shipping address provided by the cardholder.
Max length:50
- Name
shipAddrLine2- Type
- string
- is optional
- Description
Second line of the postal address or local equivalent part of the shipping address provided by the cardholder.
Max length:50
- Name
shipAddrLine3- Type
- string
- is optional
- Description
Third line of the postal address or local equivalent part of the shipping address provided by the cardholder.
Max length:50
- Name
shipAddrPostCode- Type
- string
- is optional
- Description
ZIP or other postal code of the shipping address provided by the cardholder
Max length:16
- Name
shipAddrState- Type
- string
- is optional
- Description
Three-letter alphabetic code of the country subdivision that represents the state or province of the shipping address provided by the cardholder. Values: See ISO 3166-2 format
Max length:3
- Name
workPhone- Type
- PhoneProperties
- is optional
- Description
Accepted values according to specification See format ITU-E.164
- Name
merchantRiskIndicator- Type
- merchantRiskIndicator
- is optional
- Description
Merchant assessment of the fraud risk level for the specific authentication.
- Name
addPriorInformation- Type
- string
- is optional
- Description
Indicates the type of authentication request.
Values:
Y- Requests 3DSS to Add PRIOR informationN- Requests Not to Add PRIOR information
Example:YMax length:1Min length:1
- Name
threeDSRequestorPriorAuthenticationInfo- Type
- threeDSRequestorPriorAuthenticationInfo
- is optional
- Description
Information about how the 3DS Requestor authenticated the cardholder before or during the transaction.
- Name
threeDSReqPriorAuthMethod- Type
- string
- is optional
- Description
Method that was used by the cardholder for the prior authentication. Values:
FRICTIONLESS_AUTHENTICATION(01) frictionlessCARDHOLDER_CHALLENGE_OCCURRED(02) with friction
Example:FRICTIONLESS_AUTHENTICATION
- Name
threeDSReqPriorAuthTimestamp- Type
- string
- is optional
- Description
Date and time in UTC format of the prior authentication. The format is C, for example
2024-07-15T10:00:00Z.Example:2024-07-15T10:00:00Z
- Name
threeDSReqPriorRef- Type
- string
- is optional
- Description
The ID granted by the ACS in the prior transaction (first authentication).
Example:abc123
- Name
threeDSReqPriorAuthData- Type
- string
- is optional
- Description
The ID granted by the DS in the prior transaction (first authentication). If this data is not sent, 3DSS assigns it. Check the session
Example:xyz789
- Name
threeRIInd- Type
- string
- is optional
- Description
Indicates if the transaction is recurring. Values:
RECURRING_TRANSACTION(01) - Recurring transactionINSTALMENT_TRANSACTION(02) - Installment transactionADD_CARD(03) - Add cardMAINTAIN_CARD_INFORMATION(04) - Maintain card informationACCOUNT_VERIFICATION(05) - Account verificationSPLIT_OR_DELAYED_SHIPMENT(06) - Split or delayed shipmentTOP_UP(07) - Top upMAIL_ORDER(08) - Mail orderTELEPHONE_ORDER(09) - Telephone orderWHITELIST_STATUS_CHECK(10) - Whitelist status checkOTHER_PAYMENT(11) - Other type of paymentBILLING_AGREEMENT(12) - Billing agreementMASTERCARD_3RI_IS_FOR_AN_AGENT_PAYMENT_TRANSACTION(85) - Agent payment transaction for MastercardMASTERCARD_3RI_FOR_UNKNOWN_OR_UNDEFINED_FINAL_AMOUNT_BEFORE_PURCHASE_TRANSACTION(86) - Transaction for Mastercard with unknown or undefined final amount before purchaseVISA_UNSCHEDULED_CREDENTIAL_ON_FILE(81) - Unscheduled credential on file (Visa)
Request
curl -X "POST" https://3dss-test.placetopay.com/threeds/v2x/sessions \
-H "Content-Type: application/json" \
-d '{
"acctNumber": "4005580000000040",
"cardExpiryDate": "2506",
"purchaseAmount": "20.5",
"purchaseCurrency": "USD",
"redirectURI": "https://www.placetopay.com",
"threeDSAuthenticationInd": "PAYMENT_TRANSACTION",
"reference": "12345"
}'
Response
Response received: 200 OK
To continue with the authentication process, the user must be redirected to the url received in the field (redirectURL). There they will be informed of the authentication result and subsequently, they will be redirected to the merchant.
- Name
sessionToken- Type
- string
- is Required
- REQUIRED
- Description
Authentication token.
Example:8e580eb1948ae1b13e614aac04c75ad31d6431ef2ea7b1a85573979b7ec4e656Max length:64Min length:64
- Name
redirectURL- Type
- string
- is Required
- REQUIRED
- Description
Redirect URL to continue the authentication process.
Example:https://3dss-test.placetopay.com/threeds/v2x/sessions/8e580eb1948ae1b13e614aac04c75ad31d6431ef2ea7b1a85573979b7ec4e656Max length:256Min length:1
- Name
transactionID- Type
- integer
- is Required
- REQUIRED
- Description
Transaction indicator.
Example:9099
Response
{
"action":"redirect",
"sessionToken": "8e580eb1948ae1b13e614aac04c75ad31d6431ef2ea7b1a85573979b7ec4e656",
"redirectURL": "https://3dss-test.placetopay.com/threeds/v2x/sessions/8e580eb1948ae1b13e614aac04c75ad31d6431ef2ea7b1a85573979b7ec4e656",
"transactionID": 9099
}