Step 5: 3DS Result API
The Result must be called after a successful Auth for ACS/Challege Flow in Step 4.
A successful response will include the 3DS values required for the Sale operation.
API Details
Mode:- Stateless REST API
API URL: - {{paymentApiUrl}}/3ds/result
HTTP Method:- POST
Request Body in Json
{
"netvalveMidId":{{netvalveMidId}},
"transID":"732b4368-d69a-4d74-885e-35b5d402824e"
}
Request table
Parameter | Type | Required | Description |
---|---|---|---|
|
| Yes | Netvalve Mid Id configured with merchant profile. e.g. aa09538b-2148-4e0b-8418-28391caa6af2 |
|
| Yes |
|
HTTP Response Codes
200 Sucess
401 Unauthorised
404 Bad request
500 Service Unavailable
API Response in JSON
Friction Less Flow (Challenge Not Required)
200
{
"traceID": "07ae6fb6-4aa7-4464-a700-d8c0d529522e",
"responseTimestamp": "2023-09-26T16:42:24.551+00:00",
"responseCode": "3DS_1000",
"responseMessage": "Three DS Transaction Successful.",
"threeDSProviderResponse": {
"transID": "f88c9f24-ad5c-472c-a9cc-d61437ab7b80",
"threeDs2TransactionId": "bWK59U04KRGhxfhZSAn0",
"eci": "05",
"cavv": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=",
"threeDsVersion": "2.1.0"
},
"midId": 2,
"netvalveMidId": "289e253d-f955-4e29-a2c7-bb1805883ee0"
}
Error
{
"traceID": "8f2348b0-12f2-44c5-91f9-989124c74220",
"responseTimestamp": "2023-11-01T11:43:50.647+00:00",
"responseCode": "3DS_2003",
"responseMessage": "Invalid Merchant ID. Kindly contact Netvalve support."
}
{
"traceID": "d14726d6-8a00-4555-b2e0-f6fea3b944c5",
"responseTimestamp": "2023-11-01T14:19:54.461+00:00",
"responseCode": "3DS_2000",
"responseMessage": "Three DS Transaction Processing Error. ",
"threeDSProviderResponse": {
"referenceId": "0fb6d85d-0a4e-4e1f-b6d8-5d0a4ece1fe7",
"errorCode": "9400",
"errorMessage": "Field 'mid_q' validation error: 'must not be empty' rejected value ''; Field 'mid_q' validation error: 'must not be blank' rejected value ''; Field 'mid_q' validation error: 'size must be between 1 and 8' rejected value ''; ",
"challengeRequired": false,
"status": "RESULT_FAILED"
}
}
Success Criteria:- {{paymentApiUrl}}/3ds/result response must have below data
"responseCode" = "3DS_1000"
"transID" = (Non Null value)
threeDs2TransactionId = (Non Null value)
"eci" = (Non Null value)
"cavv" = (Non Null value)
threeDsVersion = (Non Null value)
Response table
Parameter | Type | Required | Description |
---|---|---|---|
|
| Yes | Trace Id / Corellation ID :- Unique id for 3DS Transaction to trace back / enquiry. e.g. |
|
| Yes | Date time of response. e.g. |
|
| Yes |
e.g. More Error Codes |
|
| Yes |
|
|
| Optional (present in case of valid request) |
|
midId | Long | Yes | Mid ID |
| String | Yes |
|
ThreeDSProviderResponse table
Parameter | Type | Required | Description |
---|---|---|---|
|
| Yes |
e.g. |
|
| Yes |
e.g. |
|
| Yes |
e.g. |
|
| Yes |
e.g.
More details ECI Codes |
|
|
| CAVV e.g. |
|
| Yes |
|
|
| Yes | Three DS Version e.g. |
|
| Optional | e.g. |
|
| Optional | e.g. “ |
Error Codes
// 1000 series for Approval,
THREE_DS_SUCCESS("3DS_1000", "Three DS Transaction Successful."),
THREE_DS_REQUEST_SUCCESS("3DS_1001", "Request Successful."),
// 2000 series for error
THREE_DS_ERROR("3DS_2000", "Three DS Transaction Processing Error. "),
THREE_DS_REQUIRED_CALL_BACK_URL("3DS_2001", "Event Callback Url Is Missing. This Value Must Be Provided."),
THREE_DS_NOT_CONFIGURED("3DS_2002", "Mid Not configured for 3DS. Kindly contact Netvalve support."),
THREE_DS_INVALID_MERCHANT("3DS_2003", "Invalid Merchant ID. Kindly contact Netvalve support."),
THREE_DS_TRANSACTION_ID_REQUIRED("3DS_2004", "Three DS Transaction Id Is Missing. This Value Must Be Provided."),
THREE_DS_CHALLENGE_INDICATOR_REQUIRED("3DS_2005", "Challenge Indicator Is Missing. This Value Must Be Provided."),
THREE_DS_BROWSER_INFO_REQUIRED("3DS_2006", "Browser Info token Is Missing. This Value Must Be Provided."),
THREE_DS_DF_REF_ID_REQUIRED("3DS_2007", "DF Reference Id Is Missing. This Value Must Be Provided."),
THREE_DS_GATEWAY_ERROR("3DS_2008", "Three DS Transaction Processing Error from Gateway. Kindly contact Netvalve support."),
THREE_DS_IMPL_TYPE_REQUIRED("3DS_2009", "3DS implementation type Is Missing. This Value Must Be Provided.");