Secure 3D
3-D Secure flow: enrol → authenticate → fetch result. Drop in to satisfy SCA on cardholder-present transactions.
Enrollment
POST
/v1/3d/enrollment/{init}
Path parameters
| Name | Example | Description |
|---|---|---|
init |
— |
Request body
| Field | Type | Description |
|---|---|---|
card_
|
string (0,any) | |
merchant_
|
string (0,any) |
Example request
{
"card_number": "string",
"merchant_id": "string"
}
Example response
{
"code": 0,
"data": {
"enrolled": true
}
}
Authenticate
POST
/v1/3d/authenticate/{init}
Path parameters
| Name | Example | Description |
|---|---|---|
init |
— |
Request body
| Field | Type | Description |
|---|---|---|
html
|
boolean | |
version
|
integer (0,any) | |
amount
|
number (0,any) | |
currency
|
string (0,any) | |
merchant_
|
string (0,40) | |
merchant_
|
string (0,any) | |
merchant
|
string (0,any) | |
notification_
|
string (0,256) | |
transaction_
|
string (0,any) | |
authentication_
|
string (0,any) | "01" - Payment Transaction "02" - Recurring Transaction "03" - Instalment Transaction "04" - Add Card "05" - Maintain Card "06" - Cardholder Verification |
challenge_
|
string (0,any) | "01" - No Preference "02" - No Challenge Requested "03" - Challenge Requested "04" - Challenge Requested Mandate "05" - No Challenge Requested LVP |
account_
|
string (0,any) | 01 - NotApplicable 02 - Credit 03 - Debit |
acquirer_
|
string (0,any) | |
email
|
string (0,254) | |
mcc
|
string (0,4) | |
merchant_
|
string (0,any) | |
install
|
string (0,any) | |
exponent
|
string (0,any) | |
transaction_
|
string (0,any) | |
recurring_
|
integer (0,4) | In days |
recurring_
|
string (0,any) | |
recurring_
|
string (0,8) | |
purchase_
|
string (0,any) | |
transaction_
|
string (0,any) | |
account_
|
string (0,any) | |
billing_
|
string (0,50) | |
billing_
|
string (0,any) | |
billing_
|
string (0,50) | |
billing_
|
string (0,50) | |
billing_
|
string (0,50) | |
billing_
|
string (0,16) | |
billing_
|
string (0,3) | |
browser_
|
string (0,2048) | |
browser_
|
string (0,45) | |
browser_
|
boolean | |
browser_
|
string (0,8) | |
browser_
|
string (0,any) | 1 4 8 15 16 24 32 48 |
browser_
|
string (0,8) | |
browser_
|
string (0,6) | |
browser_
|
string (0,6) | |
browser_
|
string (0,2048) | |
card
|
string (0,any) | |
card_
|
string (0,any) | |
cardholder_
|
string (2,45) | |
card_
|
string (0,any) | |
card_
|
string (0,any) | |
shipping_
|
string (0,50) | |
shipping_
|
string (0,any) | |
shipping_
|
string (0,50) | |
shipping_
|
string (0,50) | |
shipping_
|
string (0,50) | |
shipping_
|
string (0,3) | |
shipping_
|
string (0,16) | |
shipping_
|
string (0,any) |
Example request
{
"html": true,
"version": "2",
"amount": "number",
"currency": "string",
"merchant_name": "Paynetics",
"merchant_id": "PNYXXXXX",
"merchant": "string",
"notification_url": "https://example.com/extra-params",
"transaction_type": "01",
"authentication_type": "01",
"challenge_indication": "01",
"account_type": "01",
"acquirer_merchant_id": "16000000",
"email": "john.doe@example.com",
"mcc": "5999",
"merchant_country_code": "GB",
"install": "string",
"exponent": "2",
"transaction_id": "string",
"recurring_frequency": "3",
"recurring_end_date": "2021-12-12",
"recurring_expiry": "string",
"purchase_date": "2021-12-12",
"transaction_description": "Payment of gooods",
"account_id": "string",
"billing_city": "Sofia",
"billing_country": "BG",
"billing_address_line1": "Street",
"billing_address_line2": "Street",
"billing_address_line3": "Street",
"billing_post_code": "1000",
"billing_state": "Sofia",
"browser_accept_header": "text/html",
"browser_ip": "127.0.0.1",
"browser_java_enabled": "boolean",
"browser_language": "BG",
"browser_color_depth": "32",
"browser_screen_height": "1920",
"browser_screen_width": "1080",
"browser_tz": "180",
"browser_user_agent": "Mozila",
"card": "string",
"card_number": "string",
"cardholder_name": "string",
"card_expiration_month": "string",
"card_expiration_year": "string",
"shipping_city": "Sofia",
"shipping_country": "BG",
"shipping_address_line1": "Street",
"shipping_address_line2": "Street",
"shipping_address_line3": "Street",
"shipping_state": "Sofia",
"shipping_post_code": "1000",
"shipping_billing_addresses_are_same": "Y"
}
Response
| Field | Type | Description |
|---|---|---|
code
|
integer (0,any) |
Example response
{
"code": "integer",
"data": {
"challenge": "string",
"xid": "string",
"cavv": "string",
"eci": "string",
"resolution": "string",
"status": "string",
"status_reason": "string",
"version": "string",
"bank_redirect_url": "string",
"acs_transaction_id": "string",
"mpi_transaction_id": "string",
"directory_transaction_id": "string",
"type": "string",
"method": "string",
"html": "string"
}
}
Result
POST
/v1/3d/result/{version}/{init}
Path parameters
| Name | Example | Description |
|---|---|---|
version |
— |
|
init |
— |
Request body
| Field | Type | Description |
|---|---|---|
response
|
string (0,any) | Raw response from 3d result |
transaction_
|
string (0,any) | Transaction ID |
Example request
{
"response": "ZWFzdXJlLg==",
"transaction_id": "65a75585-b936-492d-84af-40c20eb79b9f"
}
Response
| Field | Type | Description |
|---|---|---|
code
|
integer (0,any) |
Example response
{
"code": "integer",
"data": {
"challenge": "string",
"xid": "string",
"cavv": "string",
"eci": "string",
"resolution": "string",
"status": "string",
"status_reason": "string",
"version": "string",
"bank_redirect_url": "string",
"acs_transaction_id": "string",
"mpi_transaction_id": "string",
"directory_transaction_id": "string",
"type": "string",
"method": "string",
"html": "string"
}
}