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

NameExampleDescription
init

Request body

Field Type Description
card_number string (0,any)
merchant_id 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

NameExampleDescription
init

Request body

Field Type Description
html boolean
version integer (0,any)
12
amount number (0,any)
currency string (0,any)
merchant_name string (0,40)
merchant_id string (0,any)
merchant string (0,any)
notification_url string (0,256)
transaction_type string (0,any)
0103101128
authentication_type string (0,any) "01" - Payment Transaction "02" - Recurring Transaction "03" - Instalment Transaction "04" - Add Card "05" - Maintain Card "06" - Cardholder Verification
010203040506
challenge_indication string (0,any) "01" - No Preference "02" - No Challenge Requested "03" - Challenge Requested "04" - Challenge Requested Mandate "05" - No Challenge Requested LVP
0102030405
account_type string (0,any) 01 - NotApplicable 02 - Credit 03 - Debit
010203
acquirer_merchant_id string (0,any)
email string (0,254)
mcc string (0,4)
merchant_country_code string (0,any)
install string (0,any)
exponent string (0,any)
transaction_id string (0,any)
recurring_frequency integer (0,4) In days
recurring_end_date string (0,any)
recurring_expiry string (0,8)
purchase_date string (0,any)
transaction_description string (0,any)
account_id string (0,any)
billing_city string (0,50)
billing_country string (0,any)
billing_address_line1 string (0,50)
billing_address_line2 string (0,50)
billing_address_line3 string (0,50)
billing_post_code string (0,16)
billing_state string (0,3)
browser_accept_header string (0,2048)
browser_ip string (0,45)
browser_java_enabled boolean
browser_language string (0,8)
browser_color_depth string (0,any) 1 4 8 15 16 24 32 48
1481516243248
browser_screen_height string (0,8)
browser_screen_width string (0,6)
browser_tz string (0,6)
browser_user_agent string (0,2048)
card string (0,any)
card_number string (0,any)
cardholder_name string (2,45)
card_expiration_month string (0,any)
010203040506070809101112
card_expiration_year string (0,any)
shipping_city string (0,50)
shipping_country string (0,any)
shipping_address_line1 string (0,50)
shipping_address_line2 string (0,50)
shipping_address_line3 string (0,50)
shipping_state string (0,3)
shipping_post_code string (0,16)
shipping_billing_addresses_are_same 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

NameExampleDescription
version
init

Request body

Field Type Description
response string (0,any) Raw response from 3d result
transaction_id 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"
    }
}
esc
navigate open esc close
Copied