authenticate
POST/v1/3ds/:id/authenticate
authenticate
Request
Path Parameters
- application/json
Body
required | string | credit_card
required | integer | min:1 | max:12
required | integer | min:2000
required | string | in:browser,decoupled | default:browser
required | string | url
string | min:1 | max:40
required | string | in:no_preference,no_challenge,preferred,mandated | default:no_preference
customer
object
hash
string | min:2 | max:45
string | email | max:254
string | min:1 | max:18
billing_address
object
hash
string | min:1 | max:50
string | country_code
string | min:1 | max:50
string | min:1 | max:50
string | min:1 | max:16
string | min:1 | max:50
shipping_address
object
hash
string | min:1 | max:50
string | country_code
string | min:1 | max:50
string | min:1 | max:50
string | min:1 | max:16
string | min:1 | max:50
customer_device
object
hash
ip
string | min:1 | max:2048
string | min:1 | max:2048
boolean
string | min:1 | max:8
required_if:customer_device.javascript_enabled,true | string | in:1,4,8,15,16,24,32,48
required_if:customer_device.javascript_enabled,true | integer | min:1 | max:999999
required_if:customer_device.javascript_enabled,true | integer | min:1 | max:999999
required_if:customer_device.javascript_enabled,true | string | browser_tz_offset
Responses
- 200
- 401
- 403
- 422
authenticates a card
- application/json
- Schema
- Example (from schema)
- Example
Schema
customer
object
billing_address
object
shipping_address
object
device
object
meta
object
ares
object
{
"merchant_id": "string",
"status": "string",
"return_url": "string",
"challenge_preference": "string",
"customer": {
"name": "string",
"email": "string",
"mobile": "string"
},
"billing_address": {
"city": "string",
"country": "string",
"line_1": "string",
"line_2": "string",
"postal_code": "string",
"state": "string"
},
"shipping_address": {
"city": "string",
"country": "string",
"line_1": "string",
"line_2": "string",
"postal_code": "string",
"state": "string"
},
"device": {
"ip_address": "string",
"user_agent": "string",
"accept_header": "string",
"javascript_enabled": true,
"language": "string",
"color_depth": "string",
"screen_height": 0,
"screen_width": 0,
"timezone": "string"
},
"id": "string",
"amount": 0,
"currency": "string",
"fingerprint": "string",
"year": 0,
"month": 0,
"challenge_url": "string",
"message": "string",
"is_frictionless": true,
"auth_status": "string",
"version": "string",
"purchase_date": "string",
"tds_ref": "string",
"ds_id": "string",
"ds_ref": "string",
"acs_id": "string",
"acs_ref": "string",
"meta": {
"merchant_id": "string",
"dsEndProtocolVersion": "string",
"acsEndProtocolVersion": "string",
"dsStartProtocolVersion": "string",
"acsStartProtocolVersion": "string",
"statement_descriptor": "string",
"ares": {
"messageVersion": "string",
"messageType": "string",
"dsTransID": "string",
"dsReferenceNumber": "string",
"threeDSServerTransID": "string",
"acsTransID": "string",
"acsReferenceNumber": "string",
"acsOperatorID": "string",
"authenticationType": "string",
"acsChallengeMandated": "string",
"acsURL": "string",
"transStatus": "string",
"authenticationValue": "string"
}
},
"created_at": "string",
"updated_at": "string",
"scheme": "string",
"channel": "string"
}
{
"merchant_id": "0190442a-04c4-7dd1-bdb7-7f2aec0ae45e",
"status": "in_progress",
"return_url": "https://example.com",
"challenge_preference": "no_preference",
"customer": {
"name": "John Doe",
"email": "johndoe@example.com",
"mobile": "0555555555"
},
"billing_address": {
"city": "Riyadh",
"country": "SA",
"line_1": "Al Worod",
"line_2": "Olaya",
"postal_code": "51911",
"state": "Riyadh"
},
"shipping_address": {
"city": "Riyadh",
"country": "SA",
"line_1": "Al Worod",
"line_2": "Olaya",
"postal_code": "51911",
"state": "Riyadh"
},
"device": {
"ip_address": "127.0.0.1",
"user_agent": "Test Agent/Chrome/Safari",
"accept_header": "*/*",
"javascript_enabled": true,
"language": "ar-SA",
"color_depth": "24",
"screen_height": 300,
"screen_width": 600,
"timezone": "-180"
},
"id": "fd0448cd-9d1b-4d27-80f0-e24522bbabd9",
"amount": 100,
"currency": "SAR",
"fingerprint": "423060cbb96f488e7f786bdbf2fdafe23d34026bb9c4bdf3b319f63366ad6bd4",
"year": 2029,
"month": 6,
"challenge_url": "https://eu1.threedsecurempi.com/EMVTDS/AUT?Action=ProcessCReq",
"message": "Challenge required",
"is_frictionless": false,
"auth_value": null,
"eci": null,
"auth_status": "C",
"version": "2.2.0",
"purchase_date": "2024-06-23T08:15:22.841Z",
"tds_ref": "endeavour",
"ds_id": "df3450f9-deef-4b0c-9c5d-190850cc0f7e",
"ds_ref": "DS_SANDBOX_0000001",
"acs_id": "631628ed-dd7d-4a65-8171-e08507983edb",
"acs_ref": "3DS_SAND_ACS_EMLI_000000_00000",
"meta": {
"merchant_id": "MadaTestMerchant",
"dsEndProtocolVersion": "2.2.0",
"acsEndProtocolVersion": "2.2.0",
"dsStartProtocolVersion": "2.1.0",
"acsStartProtocolVersion": "2.1.0",
"statement_descriptor": "Test",
"ares": {
"messageVersion": "2.2.0",
"messageType": "ARes",
"dsTransID": "df3450f9-deef-4b0c-9c5d-190850cc0f7e",
"dsReferenceNumber": "DS_SANDBOX_0000001",
"threeDSServerTransID": "bafc5052-1fe8-44f0-a57e-73f21fe948aa",
"acsTransID": "631628ed-dd7d-4a65-8171-e08507983edb",
"acsReferenceNumber": "3DS_SAND_ACS_EMLI_000000_00000",
"acsOperatorID": "ACS_OPERATOR_ID",
"authenticationType": "02",
"acsChallengeMandated": "Y",
"acsURL": "https://eu1.threedsecurempi.com/EMVTDS/AUT?Action=ProcessCReq",
"transStatus": "C",
"authenticationValue": "AAIBBRQxMAAAAAPoaCAjdQAAAAA="
}
},
"created_at": "2024-06-23T08:15:22.841Z",
"updated_at": "2024-06-23T08:15:22.865Z",
"scheme": "visa",
"channel": "browser",
"failure_reason": null
}
returns unauthorized
- application/json
- Schema
- Example (from schema)
- Example
Schema
{
"message": "string"
}
{
"message": "Missing authentication information"
}
returns forbidden
- application/json
- Schema
- Example (from schema)
- Example
Schema
{
"message": "string"
}
{
"message": "Unauthorized"
}
returns unprocessable_entity
- application/json
- Schema
- Example (from schema)
- Example
Schema
errors
object
{
"message": "string",
"errors": {
"number": [
"string"
],
"month": [
"string"
],
"year": [
"string"
],
"return_url": [
"string"
]
}
}
{
"message": "Data validation failed",
"errors": {
"number": [
"The value must be a proper credit/debit card number."
],
"month": [
"This field is missing."
],
"year": [
"This field is missing."
],
"return_url": [
"This field is missing."
]
}
}