Client webhooks for VCAS

Visa Consumer Authentication Service (VCAS) is a Visa-provided service to support 3-D Secure (3DS), a global protocol designed to help issuers authenticate cardholders during card-not-present transactions, such as e-commerce purchases. Issuers need to implement the following webhooks to support VCAS.

For more information, refer to VCAS

VCAS StepUp

Webhook request to issuer to provide authentication method and display text.

Webhook specifications
Request fields
Field Type Description Req
id string Pismo-generated unique authorization ID Y
provider enum
string
Third-party provider name:
* VCAS
Y
type enum
string
Call type:
* stepup
card object Card information object Y
id integer Card ID Y
mode_id integer Card mode ID Y
type enum
string
Card type:
* PLASTIC
* VIRTUAL
* RECURRING
* TEMPORARY
Y
hash string Encrypted PAN using 2048 rsa key and base64 encoded. Pismo provides the encrypt/decrypt keys for this field. Y
bin string Card Bank Identification Number (BIN). A 6 or 8 digit value Y
last_four_digits string Card last 4 PAN digits Y
account object Account information object Y
id string Pismo account ID Y
document_number string Cardholder document number. A government document number, such as a Social Security number (US) or Cadastro de Pessoas Físicas number (Brazil). Y
email string E-mail. Y
phones object
array
Phone objects Y
area_code string Phone area code Y
country_code string Phone number country code Y
number string Phone number without area code Y
type enum
string
Phone type:
* mobile
* commercial
* residential
Y
program object Program information object Y
id integer Program ID Y
customer object Customer information object Y
id integer Customer ID Y
raw_provider object All non-PCI information received from provider. Check provider documentation for details. Y
Sample request
{
  "id": "ff77635e-1cd6-4fda-992d-5ceb71d75644",
  "provider": "VCAS",
  "type": "stepup",
  "card": {
    "id": 869572,
    "mode_id": 102,
    "type": "PLASTIC",
    "hash": "WEPvOQuZvjfYEd0iBmr43bhWyOsylIsW95ebYrLD89App2iEq9IizP+8w73pxKQ4mI47EdhzYHF9RfXjrBOyug==",
    "bin": "885692",
    "last_four_digits": "0153"
  },
  "account": {
    "id": 10045896,
    "document_number": "00011122233",
    "phones": [
      {
        "area_code": "31",
        "country_code": "55",
        "number": "998675309",
        "type": "mobile"
      }
    ],
    "email": "[email protected]"
  },
  "program": {
    "id": 986
  },
  "customer": {
    "id": 867604
  },
  "raw_provider": {
    "ProcessorId": "5723ae630063ac1a9c3ab079",
    "IssuerId": "5723ae630063ac1a9c3ab083",
    "TransactionId": "00ec043e-40b5-4ce4-95c2-9e83b644f412",
    "DSTransactionId": "00ec043e-40b5-4ce4-95c2-9e83b644f987",
    "ThreeDSRequestorAuthenticationInd": "01",
    "StepupRequestId": "878f4751-4140-4881-9e4a-003e83524f22",
    "DeviceLocale": "en-US",
    "DeviceUserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
    "MessageVersion": "2.2.0",
    "RDXMessageVersion": "2.2.3",
    "MessageCategory": "01",
    "MerchantInfo": {
      "AcquirerId": "1337",
      "AcquirerCountryCode": "840",
      "MerchantId": "876543210",
      "MerchantName": "Ranier Expeditions",
      "MerchantURL": "https://www.requestor.com",
      "MerchantCategoryCode": "0123",
      "MerchantCountryCode": "840",
      "MerchantAppRedirectURL": "merchantScheme://appName?transID=b2385523-a66c-4907-ac3c-91848e8c0067"
    },
    "TransactionInfo": {
      "TransactionCurrency": "840",
      "Channel": "WEB"
    }
  }
}
Response fields
Field Type Description Req
raw_response object Raw response to VCAS StepUp request, according with VCAS documentation Y
Sample response
{
    "raw_response": {
        "ProcessorId": "5723ae630063ac1a9c3ab07976",
        "IssuerId": "5723ae630063ac1a9c3ab080",
        "TransactionId": "00ec043e-40b5-4ce4-95c2-9e83b644f412",
        "StepupRequestId": "00ec043e-40b5-4ce4-95c2-9e83b644f412",
        "StepupType": "OTPEMAIL",
        "Language": "en-US",
        "Status": "SUCCESS",
        "RiskIndicator": "string",
        "Credentials": [
            {
                "Id": "d94fd3fd-bef1-49cb-88ab-a6841261cea9",
                "Type": "OTPEMAIL",
                "Text": "[email protected]"
            }
        ],
        "Reason": {
            "ReasonCode": "string",
            "ReasonDescription": "string"
        },
        "Error": {
            "ReferenceNumber": "string",
            "ReasonDescription": "string",
            "Description": "string",
            "Message": "string"
        },
        "WhyInfo": {
            "Label": "string",
            "Text": "string"
        }
    }
}

VCAS Initiate Action

Webhook to notify issuer to take action, such as generating a verification code.

Webhook specifications
Request fields
Field Type Description Req
id string Pismo-generated unique authorization ID Y
provider enum
string
Third-party provider name:
* VCAS
Y
type enum
string
Call type:
* initiate_action
card object Card information object Y
id integer Card ID Y
mode_id integer Card mode ID Y
type enum
string
Card type:
* PLASTIC
* VIRTUAL
* RECURRING
* TEMPORARY
Y
hash string Encrypted PAN using 2048 rsa key and base64 encoded. Pismo provides the encryt/decrypt keys for this field. Y
bin string Card Bank Identification Number (BIN). A 6 or 8 digit value Y
last_four_digits string Card last 4 PAN digits Y
account object Account information object Y
id string Pismo account ID Y
document_number string Cardholder document number. A government document number, such as a Social Security number (US) or Cadastro de Pessoas Físicas number (Brazil). Y
email string E-mail. Y
phones object
array
Phone objects Y
area_code string Phone area code Y
country_code string Phone number country code Y
number string Phone number without area code Y
type enum
string
Phone type:
* mobile
* commercial
* residential
Y
program object Program information object Y
id integer Program ID Y
customer object Customer information object Y
id integer Customer ID Y
raw_provider object All non-PCI information received from provider. Check provider documentation for details. Y
Sample request
{
  "id": "ff77635e-1cd6-4fda-992d-5ceb71d75644",
  "provider": "VCAS",
  "type": "initiate_action",
  "card": {
    "id": 869572,
    "mode_id": 102,
    "type": "PLASTIC",
    "hash": "WEPvOQuZvjfYEd0iBmr43bhWyOsylIsW95ebYrLD89App2iEq9IizP+8w73pxKQ4mI47EdhzYHF9RfXjrBOyug==",
    "bin": "885692",
    "last_four_digits": "0153"
  },
  "account": {
    "id": 10045896,
    "document_number": "00011122233",
    "phones": [
      {
        "area_code": "31",
        "country_code": "55",
        "number": "998675309",
        "type": "mobile"
      }
    ],
    "email": "[email protected]"
  },
  "program": {
    "id": 986
  },
  "customer": {
    "id": 867604
  },
  "raw_provider": {
    "ProcessorId": "5723ae630063ac1a9c3ab079",
    "IssuerId": "5723ae630063ac1a9c3ab083",
    "TransactionId": "00ec043e-40b5-4ce4-95c2-9e83b644f412",
    "DSTransactionId": "00ec043e-40b5-4ce4-95c2-9e83b644f987",
    "ThreeDSRequestorAuthenticationInd": "01",
    "StepupRequestId": "878f4751-4140-4881-9e4a-003e83524f22",
    "DeviceLocale": "en-US",
    "DeviceUserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
    "MessageVersion": "2.2.0",
    "RDXMessageVersion": "2.2.3",
    "MessageCategory": "01",
    "MerchantInfo": {
      "AcquirerId": "1337",
      "AcquirerCountryCode": "840",
      "MerchantId": "876543210",
      "MerchantName": "Ranier Expeditions",
      "MerchantURL": "https://www.requestor.com",
      "MerchantCategoryCode": "0123",
      "MerchantCountryCode": "840",
      "MerchantAppRedirectURL": "merchantScheme://appName?transID=b2385523-a66c-4907-ac3c-91848e8c0067"
    },
    "TransactionInfo": {
      "TransactionCurrency": "840",
      "Channel": "WEB"
    }
  }
}
Response fields
Field Type Description Req
raw_response object Raw response to VCAS initiate action request, according with VCAS documentation Y
Sample response

{
  "raw_response": {
    "ProcessorId": "7723ae630063ac1a9c3ab07976",
    "IssuerId": "5723ae630063ac1a9c3ab080",
    "TransactionId": "00ec043e-40b5-4ce4-95c2-9e83b644f412",
    "StepupRequestId": "00ec043e-40b5-4ce4-95c2-9e83b644f412",
    "StepupType": "OTP",
    "Language": "string",
    "Status": "SUCCESS",
    "TransStatusReason": "string",
    "RiskIndicator": "string",
    "Credentials": [
      {
        "Id": "d94fd3fd-bef1-49cb-88ab-a6841261cea9",
        "Type": "OTPEMAIL",
        "Text": "******@cardinalcommerce.com"
      }
    ],
    "Reason": {
      "ReasonCode": "string",
      "ReasonDescription": "string"
    },
    "Error": {
      "ReferenceNumber": "string",
      "ReasonDescription": "string",
      "Description": "string",
      "Message": "string"
    }
  }
}

VCAS Validate

Webhook request to validate verification code.

Webhook specifications
Request fields
Field Type Description Req
id string Pismo-generated unique authorization ID Y
provider enum
string
Third-party provider name:
* VCAS
Y
type enum
string
Call type:
* validate
raw_provider object All non-PCI information received from provider. Check provider documentation for details. Y
Sample request
{
  "id": "ff77635e-1cd6-4fda-992d-5ceb71d75644",
  "provider": "VCAS",
  "type": "validate",
  "raw_provider": {
    "ProcessorId": "5723ae630063ac1a9c3ab079",
    "IssuerId": "5723ae630063ac1a9c3ab481",
    "TransactionId": "00ec043e-40b5-4ce4-95c2-9e83b644f412",
    "DSTransactionId": "521fa021-4791-4579-a3e9-76de87c219c0",
    "StepupRequestId": "878f4751-4140-4881-9e4a-003e83524f22",
    "MessageVersion": "2.2.0",
    "RDXMessageVersion": "2.2.3"
  }
}
Response fields
Field Type Description Req
raw_response object Raw response to VCAS initiate action request, according with VCAS documentation Y
Sample response

{
  "raw_response": {
    "ProcessorId": "5723ae630063ac1a9c3ab079",
    "IssuerId": "5723ae630063ac1a9c3ab671",
    "TransactionId": "00ec043e-40b5-4ce4-95c2-9e83b644f412",
    "StepupRequestId": "00ec043e-40b5-4ce4-95c2-9e83b644f618",
    "Language": "string",
    "CredentialId": "string",
    "Status": "SUCCESS",
    "TransStatusReason": "string",
    "RiskIndicator": "string",
    "Reason": {
      "ReasonCode": "string",
      "ReasonDescription": "string"
    },
    "Error": {
      "ReferenceNumber": "string",
      "ReasonDescription": "string",
      "Description": "string",
      "Message": "string"
    },
    "RReqOverrides": {
      "AuthenticationMethod": "SMS_OTP",
      "TransStatusReason": "CARD_AUTH_FAILED",
      "AuthenticationAttempts": "string",
      "CustomerCancel": true
    }
  }