Skip to main content

Visa Secure


Visa Secure is the authentication service in the Visa card network that uses the 3-D Secure protocol to authenticate customers at checkout. This authentication is a two-step process. First, the cardholder is authenticated by 3-D Secure. Then, the transaction is authorized based on the 3-D Secure evaluation. This section explains how to authorize a card payment based on the 3-D Secure evaluation.

Prerequisite

Before implementing Visa Secure, contact customer support to have your account configured for this feature.

Supported Processors

  • AIBMS
  • Banque de France et Tresor Public
  • Barclays
  • BNP Paribas France
  • Chase Paymentech Solutions
  • Chase Tandem
  • Cielo
  • Comercio Latino
  • Credit Mutuel-CIC
  • Elavon
  • Elavon Americas
  • FDC Compass
  • FDC Nashville Global
  • FDI Australia
  • FDMS Nashville
  • Fiserv RapidConnect
  • Getnet
  • GPN
  • HBoS
  • HSBC
  • JCN Gateway
  • Lloyds-OmniPay
  • LloydsTSB Cardnet
  • Moneris
  • OmniPay Direct
  • Prosa
  • Rede
  • SIX
  • Streamline
  • TSYS Acquiring Solutions
  • Vero
  • Worldpay VAP
  • Barclays
  • TSYS Acquiring Solutions
  • Elavon Americas
  • FDC Nashville Global
  • Chase Paymentech Solutions
  • Streamline
  • Worldpay VAP

Processor-Specific Information

Fields Specific to the Visa Secure Use Case

  • processingInformation.commerceIndicator: set the value to vbv for a successful authentication (3-D Secure value of 05), vbv_attempted if authentication was attempted but did not succeed (3-D Secure value of 06), or vbv_failure if authentication failed (3-D Secure value of 07).
  • consumerAuthenticationInformation.cavv: required when payer authentication is successful.

Endpoints

POST /pts/v2/payments

POST /pts/v2/payments

POST /pts/v2/payments

Example

{    "clientReferenceInformation": {        "code": "test"    },    "processingInformation": {        "capture": "true",        "authorizationOptions": {            "ignoreAvsResult": "true"        },        "actionList": [            "VALIDATE_CONSUMER_AUTHENTICATION"        ]    },    "paymentInformation": {        "card": {            "expirationYear": "2031",            "number": "4XXXXXXXXXXX25X3",            "securityCode": "123",            "expirationMonth": "12",            "type": "001"        }    },    "orderInformation": {        "amountDetails": {            "totalAmount": "100.00",            "currency": "GBP"        },        "billTo": {            "firstName": "John",            "lastName": "Smith",            "address1": "201 S. Division St._1",            "address2": "Suite 500",            "locality": "Foster City",            "administrativeArea": "CA",            "postalCode": "94404",            "country": "US",            "email": "[email protected]",            "phoneNumber": "6504327113"        }    },    "consumerAuthenticationInformation": {        "authenticationTransactionId": "2b4eAa4K3H778X34Ciy0"    }}
{    "_links": {        "void": {            "method": "POST",            "href": "/pts/v2/payments/7478305945626990404807/voids"        },        "self": {            "method": "GET",            "href": "/pts/v2/payments/7478305945626990404807"        }    },    "clientReferenceInformation": {        "code": "test"    },    "consumerAuthenticationInformation": {        "indicator": "vbv",        "eciRaw": "05",        "authenticationResult": "0",        "strongAuthentication": {            "OutageExemptionIndicator": "0"        },        "authenticationStatusMsg": "Success",        "eci": "05",        "token": "Axj//wSTlWZX08jkcOTHAAIU3YMmzhgzcN2ie/LXsgSgKe/LXsgS50OnEFBWGTSTL0Yua1eAwHScqzK+nkcjhyY4wDi0",        "cavv": "AAIBBYNoEwAAACcKhAJkdQAAAAA=",        "paresStatus": "Y",        "xid": "AAIBBYNoEwAAACcKhAJkdQAAAAA=",        "directoryServerTransactionId": "fa628ed8-ad77-4723-b28f-91952eaca8fe",        "threeDSServerTransactionId": "71399671-8456-4c97-b056-e127622a5e26",        "specificationVersion": "2.2.0",        "acsTransactionId": "5f9fb589-08cc-4952-866d-30939868f411"    },    "id": "7478305945626990404807",    "orderInformation": {        "amountDetails": {            "totalAmount": "100.00",            "authorizedAmount": "100.00",            "currency": "GBP"        }    },    "paymentAccountInformation": {        "card": {            "brandName": "VISA",            "type": "001"        }    },    "paymentInformation": {        "tokenizedCard": {            "type": "001"        },        "card": {            "bin": "400000",            "type": "VISA"        }    },    "pointOfSaleInformation": {        "terminalId": "12345678"    },    "processorInformation": {        "paymentAccountReferenceNumber": "V0010013018036776997406844475",        "merchantNumber": "12345678",        "approvalCode": "100",        "cardVerification": {            "resultCodeRaw": "3",            "resultCode": "2"        },        "merchantAdvice": {            "code": "00",            "codeRaw": "0"        },        "networkTransactionId": "123456789012345",        "transactionId": "123456789012345",        "responseCode": "0",        "avs": {            "code": "U",            "codeRaw": "00"        }    },    "reconciliationId": "7026803874",    "status": "AUTHORIZED",    "submitTimeUtc": "2025-05-21T12:29:54Z"}

Required Fields

These fields are required specifically for the Visa Secure use case, in addition to the standard fields required to authorize a payment.

FieldDescription
clientReferenceInformation.codeOrder reference or tracking number. Provide a unique value for each transaction so that you can perform meaningful searches for the transaction.
consumerAuthenticationInformation.cavvThis field is required when payer authentication is successful. Otherwise, this field is optional.
consumerAuthenticationInformation.xid—
orderInformation.amountDetails.currency
Vero supports the Brazilian real (BRL) currency only. For RuPay, set the value to INR.
orderInformation.amountDetails.totalAmount—
orderInformation.billTo.address1—
orderInformation.billTo.administrativeArea—
orderInformation.billTo.country—
orderInformation.billTo.email—
orderInformation.billTo.firstName—
orderInformation.billTo.lastName—
orderInformation.billTo.locality—
orderInformation.billTo.postalCode—
paymentInformation.card.expirationMonth—
paymentInformation.card.expirationYear—
paymentInformation.card.number—
paymentInformation.card.type—
processingInformation.commerceIndicatorSet this field to one of these values: vbv for successful authentication (EMV 3-D Secure value of 05), vbv_attempted when authentication was attempted (EMV 3-D Secure value of 06), or vbv_failure or internet when authentication failed or was not attempted (EMV 3-D Secure value of 07).

Last published: September 29, 2026