Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
    "customerEmail": "yogesh@dahe.com",
    "customerPhone": "+919900000000", (Customer Phone in the format of coutrycode-phone . e.g +919900000000)

Request table

Parameter

Type

Required

Description

netvalveMidId

String

Yes

Netvalve Mid Id configured with merchant profile.

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

amount

BigDecimal

Yes

Transaction Amount

e.g. 100.50

currency

String

Yes

Currency with matching ISO-4217 currency standard e.g. "USD"

cardExpireMonth

String

Yes

regexp = "^(0[1-9]|1[0-2])$"

e.g. "08"

cardExpireYear

String

Yes

@Size(max = 4, min = 4)

e.g. "2025"

cardHolderName

String

Yes

@Size(max = 128)

cardNumber

String

Yes

Valid card number

merchantRedirectUrl

String

Optional(In case of redirect required)

valid merchant redirect URL

customerIp

String

Yes

IP address

customerPhone

String

Conditional. Required for Visa 3DS.

Customer Phone in the formate of coutrycode-phone . e.g +919900000000

customerEmail

String

Conditional. Required for Visa 3DS.

Customer email

userAgent

String

Yes

userAgentparam from browser data captured

browserHeader

String

Yes

browserHeader param from browser data captured

browserJavaEnabled

String

Yes

browserJavaEnabledparam from browser data captured

browserLanguage

String

Yes

browserLanguageparam from browser data captured

Format :- "en-US"

browserColorDepth

Integer

Yes

browserColorDepthparam from browser data captured

browserScreenHeight

Integer

Yes

browserScreenHeightparam from browser data captured

browserScreenWidth

Integer

Yes

browserScreenWidthparam from browser data captured

browserTimeZone

Integer

Yes

browserTimeZoneparam from browser data captured

Format :- like 300

Generating browser data for the request body

The browser related parameters in the request must be fetched on the client. You can use this JavaScript function to collect this data:

...

404 Bad request

500 Service Unavailable

API Response in JSON

1:- Initialization Flow

...

Responses for different flows.

The following indicates the response for each of the possible 3DS flows. The merchant must check the response to see which flow to take.

FLOW A: 3DS Complete

See V2 Flows for a description of this flow.

  • Frictionless Flow

Frictionless Success Criteria:- Response must have the below data and the client should add those checks

"responseCode" = "3DS_1000"

"transID" = (Non Null value)

"

...

threeDs2TransactionId" = (Non Null value)

"

...

eci" =

...

(Non Null value)

"cavv" = (Non Null value)

"threeDsVersion" = (Non Null value

Note:- If the above success criteria match

...

skip all the next

...

steps and use eci,cavv,threeDs2TransactionId,threeDsVersion in payment.

Code Block
200

{
    "traceID": "dbea8561c1228eb5-49902246-45824cf5-b370ae3d-66ab2696f39a4c19234e1acb",
    "responseTimestamp": "20232024-1005-17T0828T08:5204:1713.845503+00:00",
    "responseCode": "3DS_1000",
    "responseMessage": "Three DS Transaction Successful.",
    "threeDSProviderResponse": {
        "transID": "146f7ded53d002cd-2ea99998-41c14399-a56a94b7-2d182322aab7ad1d9e722ea2",
        "referenceIdthreeDs2TransactionId": "124cf1a9e37b458a-b211c171-4f7f4ad3-8cf1adb5-a9b2115f7fb0e70d3cb9902b",
        "threeDs2TransactionIdeci": "6bb67882-1562-42c0-ae06-26875c6a62e305",
        "redirectUrlcavv": "https://gateway.sandbox-netvalve.com/threeds/ddc?transId=146f7ded-2ea9-41c1-a56a-2d182322aab7&t=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJlOWE3OWM4My04ZTc3LTQ4MzctYjkzOS1hOTk2ODU4OWExMTMiLCJpYXQiOjE2OTc1MzI3MzgsImV4cCI6MTY5NzUzMzMzOCwiaXNzIjoiTkVUVkFMVkUiLCJ0eG5JZCI6IjE0NmY3ZGVkLTJlYTktNDFjMS1hNTZhLTJkMTgyMzIyYWFiNyIsInN0YXR1cyI6IklOSVRJQUxJWkVEIiwicHJvdmlkZXIiOiJSWVZZTCJ9.MAlQjy-aL7lYLrpEVxYtsBFkBdkoMWI7_q_p1QHCJtU",
   "AJkBBkhgQQAAAE4gSEJydQAAAAA=",
        "threeDsVersion": "2.2.0"
    }
}

Error
{
    "statustraceID": "INITIALIZED"8f2348b0-12f2-44c5-91f9-989124c74220",
    }
}

2:- Direct Auth

  • Frictionless Flow

Frictionless Success Criteria:- Response must have the below data and the client should add those checks

"responseCode" = "3DS_1000"

"transID" = (Non Null value)

"threeDs2TransactionId" = (Non Null value)

"eci" = (Non Null value)

"cavv" = (Non Null value)

"threeDsVersion" = (Non Null value

Note:- If the above success criteria match skip all the next steps and use eci,cavv,threeDs2TransactionId,threeDsVersion in payment.

Code Block
200

{"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",
    "traceIDresponseTimestamp": "c1228eb52023-2246-4cf5-ae3d-4c19234e1acb",
    "responseTimestamp": "2024-05-28T08:04:13.50311-01T14:19:54.461+00:00",
    "responseCode": "3DS_10002000",
    "responseMessage": "Three DS Transaction Processing SuccessfulError. ",
    "threeDSProviderResponse": {
        "transIDreferenceId": "53d002cd0fb6d85d-99980a4e-43994e1f-94b7b6d8-ad1d9e722ea25d0a4ece1fe7",
        "threeDs2TransactionIderrorCode": "e37b458a-c171-4ad3-adb5-e70d3cb9902b9400",
        "ecierrorMessage": "05",
        "cavv": "AJkBBkhgQQAAAE4gSEJydQAAAAA=",
        "threeDsVersion": "2.2.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": falseField '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": "INITIALIZATION_FAILED"
    }
}

FLOW B: challenge required

See V2 Flows for a description of this flow.

  • ACS Success Criteria:-Response must have the below data and the client should add those checks

    • "responseCode" = "3DS_1000"

    • "transID" = (Non Null value)

    • "challengeRequired" = true

    • "redirectUrl" = (Non Null value)

    • "status" = ACS_REQUIRED

    • Note:- If the above success criteria match then follow the next step as (step 4) and in seq for the next

Code Block
200

{
    "traceID": "8bd4c342-eb46-435b-b6c5-3532b11abe2a",
    "responseTimestamp": "2024-05-28T07:30:33.020+00:00",
    "responseCode": "3DS_1000",
    "responseMessage": "Three DS Transaction Successful.",
    "threeDSProviderResponse": {
        "transID": "c19d5b5b-0dd6-47f4-98ad-096f319cd8c6",
        "threeDs2TransactionId": "619eeb8c-4020-4dcd-9594-aaa53bd6a5e9",
        "challengeRequired": true,
        "statusredirectUrl": "INITIALIZATION_FAILED"
 https://3dsecuresuite.uat.sandbox-netvalve.com?transId=c19d5b5b-0dd6-47f4-98ad-096f319cd8c6&acsWindowSize=5&t=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI5YWRkYTQ3ZS1hNDE2LTQ2ZjgtODdhYS04OGU5ODIwNDNiYzgiLCJpYXQiOjE3MTY4ODE0MzgsImV4cCI6MTcxNjg4MjAzOCwiaXNzIjoiTkVUVkFMVkUiLCJ0eG5JZCI6ImMxOWQ1YjViLTBkZDYtNDdmNC05OGFkLTA5NmYzMTljZDhjNiIsInN0YXR1cyI6IkFDU19SRVFVSVJFRCIsInByb3ZpZGVyIjoiQ0FSRElOQUwifQ.AHW72RgzRthk1YDBWqIJy4oNcXebxeYCLEzvJUFrj9I",
       } }
  • ACS FLow

    • ACS Success Criteria:-Response must have the below data and the client should add those checks

      • "responseCode" = "3DS_1000"

      • "transID" = (Non Null value)

      • "challengeRequired" = true

      • "redirectUrl" = (Non Null value)

      • "status" = ACS_REQUIRED

      • Note:- If the above success criteria match then follow the next step as (step 4) and in seq for the next

Code Block
200

{
    "traceID": "8bd4c342-eb46-435b-b6c5-3532b11abe2a",
    "responseTimestamp": "2024-05-28T07:30:33.020"status": "ACS_REQUIRED",
        "threeDsVersion": "2.0.0"
    }
}

Error
{
    "traceID": "8f2348b0-12f2-44c5-91f9-989124c74220",
    "responseTimestamp": "2023-11-01T11:43:50.647+00:00",
    "responseCode": "3DS_10002003",
    "responseMessage": "ThreeInvalid DSMerchant Transaction SuccessfulID.", Kindly contact Netvalve  "threeDSProviderResponsesupport.":
{}

{
      "transIDtraceID": "c19d5b5bd14726d6-0dd68a00-47f44555-98adb2e0-096f319cd8c6f6fea3b944c5",
   
    "threeDs2TransactionIdresponseTimestamp": "619eeb8c2023-4020-4dcd-9594-aaa53bd6a5e9",11-01T14:19:54.461+00:00",
    "responseCode": "3DS_2000",
    "challengeRequiredresponseMessage": "Three true,DS Transaction Processing Error. ",
    "redirectUrlthreeDSProviderResponse": {
        "referenceId"https://3dsecuresuite.uat.sandbox-netvalve.com?transId=c19d5b5b-0dd6-47f4-98ad-096f319cd8c6&acsWindowSize=5&t=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI5YWRkYTQ3ZS1hNDE2LTQ2ZjgtODdhYS04OGU5ODIwNDNiYzgiLCJpYXQiOjE3MTY4ODE0MzgsImV4cCI6MTcxNjg4MjAzOCwiaXNzIjoiTkVUVkFMVkUiLCJ0eG5JZCI6ImMxOWQ1YjViLTBkZDYtNDdmNC05OGFkLTA5NmYzMTljZDhjNiIsInN0YXR1cyI6IkFDU19SRVFVSVJFRCIsInByb3ZpZGVyIjoiQ0FSRElOQUwifQ.AHW72RgzRthk1YDBWqIJy4oNcXebxeYCLEzvJUFrj9I: "0fb6d85d-0a4e-4e1f-b6d8-5d0a4ece1fe7",
        "statuserrorCode": "ACS_REQUIRED9400",
        "threeDsVersionerrorMessage": "2.0.0"
    }
}

Error
{
    "traceID": "8f2348b0-12f2-44c5-91f9-989124c74220",
    "responseTimestamp": "2023-11-01T11:43:50.647+00:00",
    "responseCode": "3DS_2003"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 ''; ",
    "responseMessage": "Invalid Merchant ID. Kindly contact Netvalve support."
}

{ "challengeRequired": false,
        "traceIDstatus": "d14726d6-8a00-4555-b2e0-f6fea3b944c5",INITIALIZATION_FAILED"
    }
 "responseTimestamp": "2023-11-01T14:19:54.461+00:00",
    "responseCode": "3DS_2000",}

FLOW C:- Device data collection required

See V2 Flows for a description of this flow.

  • Success Criteria:- Response must have the below data and the client should add those checks

    • "responseCode" = "3DS_1000"

    • "transID" = (Non Null value)

    • "redirectUrl" = (Non Null value)

    • "status" = INITIALIZED

  • Note:- If the above success criteria match then follow the next step as (step 2) and in seq of the next

Code Block
200
{
    "responseMessagetraceID": "Three DS Transaction Processing Error. dbea8561-4990-4582-b370-66ab2696f39a",
    "threeDSProviderResponse": {
        "referenceIdresponseTimestamp": "0fb6d85d2023-0a4e-4e1f-b6d8-5d0a4ece1fe7",
   10-17T08:52:17.845+00:00",
    "errorCoderesponseCode": "94003DS_1000",
    "responseMessage": "Three DS Transaction "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 ''; Successful.",
    "threeDSProviderResponse": {
        "transID": "146f7ded-2ea9-41c1-a56a-2d182322aab7",
        "referenceId": "124cf1a9-b211-4f7f-8cf1-a9b2115f7fb0",
        "threeDs2TransactionId": "6bb67882-1562-42c0-ae06-26875c6a62e3",
        "challengeRequiredredirectUrl": false"https://gateway.sandbox-netvalve.com/threeds/ddc?transId=146f7ded-2ea9-41c1-a56a-2d182322aab7&t=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJlOWE3OWM4My04ZTc3LTQ4MzctYjkzOS1hOTk2ODU4OWExMTMiLCJpYXQiOjE2OTc1MzI3MzgsImV4cCI6MTY5NzUzMzMzOCwiaXNzIjoiTkVUVkFMVkUiLCJ0eG5JZCI6IjE0NmY3ZGVkLTJlYTktNDFjMS1hNTZhLTJkMTgyMzIyYWFiNyIsInN0YXR1cyI6IklOSVRJQUxJWkVEIiwicHJvdmlkZXIiOiJSWVZZTCJ9.MAlQjy-aL7lYLrpEVxYtsBFkBdkoMWI7_q_p1QHCJtU",
        "status": "INITIALIZATION_FAILEDINITIALIZED"
    }
}

Response table

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

...

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

String

Yes

CAVV value from 3DS Provider

e.g.AJkBAZd0ByiAAAAAJnQHAAAAAAA=

challengeRequired

boolen

Optional

true/false

redirectUrl

String

Optional

Netvalve url to do Iframe/redirect challenge flow . for more details see the documentationStep 4: ACS challenge and receive challenge result

status

String

Yes

"AUTHENTICATED" / “AUTHENTICATED_FAILED“ / “ACS_REQUIRED" / “INITIALIZATION_FAILED

errorCode

String

Optional

e.g. 9400

errorMessage

String

Optional

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

Anchor
Error-Codes
Error-Codes
Error Codes

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

...