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

Parameter

Type

Required

Description

netvalveMidId

String

Yes

Netvalve Mid Id configured with merchant profile.

e.g. aa09538b-2148-4e0b-8418-28391caa6af2

transID

String

Yes

transID Id :- Unique 3DS Transaction id from init/auth call . refer ThreeDSProviderResponse table

 

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" } } 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

Parameter

Type

Required

Description

traceID

String

Yes

Trace Id / Corellation ID :- Unique id for 3DS Transaction to trace back / enquiry.

e.g. dbea8561-4990-4582-b370-66ab2696f39a

responseTimestamp

Date

Yes

Date time of response.

e.g. "2023-10-17T08:52:17.845+00:00"

responseCode

String

Yes

Netvalve Response Code

e.g. 3DS_1000 SUCESS

3DS_2000 Failure

More Error Codes

responseMessage

String

Yes

e.g. "Three DS Transaction Successful."

threeDSProviderResponse

String

Optional (present in case of valid request)

TthreeDSProviderResponse JSON Object

 

ThreeDSProviderResponse table

 

Parameter

Type

Required

Description

Parameter

Type

Required

Description

transID

String

Yes

transID Id :- Unique 3DS Transaction id

e.g. dbea8561-4990-4582-b370-66ab2696f39a

referenceId

String

Yes

Reference Id for 3DS from provider

e.g. "124cf1a9-b211-4f7f-8cf1-a9b2115f7fb0"

threeDs2TransactionId

String

Yes

3DS Server Transaction Id

e.g. 6bb67882-1562-42c0-ae06-26875c6a62e3

eci

String

Yes

ECI value from 3DS Provider

e.g.

  • Visa. 05

  • Mastercard. 02

More details ECI Codes

cavv

 

 

CAVV value from 3DS Provider

e.g.AJkBAZd0ByiAAAAAJnQHAAAAAAA=

status

String

Yes

"COMPLETED" / “RESULT_FAILED“

threeDsVersion

String

Yes

Three DS Version

e.g. "threeDsVersion": "2.1.0"

errorCode

String

Optional

e.g. 9400

errorMessage

String

Optional

e.g. “Field 'mid_q' validation error."

 

 

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.");