Visa Commercial Fraud Solutions API Reference

Visa Commercial Fraud Solutions

Search API Reference

Account Management

Users can leverage the Account Management APIs to create and manage their accounts within Visa B2B Payment Controls (VPC). The accounts need to be within the ranges specified during the onboarding of the Issuer or a Commercial Client. This service also allows users to add payment controls, manage account contacts, update company information, delete accounts, and access account details from the system.

Create Account v1 - Latest

Use this operation to register your existing cards with VPC, which is required before you can set any rules, other than the Block Rule (this will be available to add while creating the account). You can enroll both a physical or a Visa virtual card. While registering your card, you can specify phone numbers and email addresses to receive SMS and email transaction notifications.

Request

Request Body schema: application/json
accountNumber
required
string^[4]{1}[0-9]{15}$
16 digit account number.
companyName
required
string^([A-Za-z0-9]{1}[A-Za-z0-9 .&!,-]{0,99})$
Alphanumeric string between 1 and 100 characters.
This is name of the company.
customerClientId
required
string
Alphanumeric value between 2 and 99 characters.
This is Company Id in the customer system. This Id will help identify the accounts that belong to same company.
customerCompanyId
required
string
Alphanumeric value between 2 and 99 characters
This is the ID of the company.
issuerBid
required
string
Bank identifier (Holding Bid)
isToken
required
boolean
Value must be either "true" or "false".
Indicates if the account is Visa pseudo account.
contacts Array of objects
Array
contact
required
stringPhone Regex: "^[0-9+]{5,20}$" Email Regex: ...Show pattern
Value can either be a phone number or an email.
languageCode
required
string
Must be ISO 639-1 standard.
notificationChannel
required
string
The channel for communication that the user would like to be communicated to through
Enum:"EMAIL""SMS""BOTH""NONE"
countryCode string
Country code of country. Required if the contact value is phone number.
dialingCode string^[0-9]{1,3}$
Must be a valid mobile dialing number code and must only contain digits, no '+' at the beginning.
Required if the contact value is phone number.
notificationFormat string
Value is required unless notificationChannel is NONE.
The format that the user would like to be used in communications about their account
firstName string^([A-Za-z0-9]{1}[A-Za-z0-9.&!,-]{0,99})$
Alphanumeric string between 1 and 100 characters.
This is cardholder's first name. If not provided, will default to "FNU".
isBlock boolean
Default: false
Value must be either "true" or "false".
Indicates if the account should be blocked from any transactions until rules are set. This will ensure no transactions are allowed on the account.
lastName string^([A-Za-z0-9]{1}[A-Za-z0-9.&!,-]{0,99})$
Alphanumeric string between 1 and 100 characters.
This is cardholder's last name. If not provided, will default to "LNU".
tokenReferenceId string^[0-9]{1,20}$
Alphanumeric and required if the account type is token.
This is internally used to associate Visa Virtual Accounts. Not applicable for integrating directly through VDP.

Responses

200
OK

Response Schema: application/json
message
required
string
Message describing the request processing status. This message is mapped with the messageCode.
messageCode
required
string
Message code showing the status of the request (Application specific code).
requestId
required
string
Unique identifier sent in the request.

400
Bad Request

Response Schema: application/json
errorCode
required
string
Error code indicating the status of the request (Application specific code).
errorMessage
required
string
Error message describing the request processing status. This message is mapped with the errorCode.
requestId
required
string
Unique identifier sent in the request.

Sample Request

{"isToken": false,
  "lastName": "Smith",
  "firstName": "John",
  "isBlock": false,
  "customerCompanyId": "Visa_123",
  "issuerBid": "99999999",
  "companyName": "Visa",
  "accountNumber": "4000000014020025",
  "contacts": [{"notificationFormat": "HTML",
    "countryCode": "",
    "contact": "john@smith.com",
    "languageCode": "en-US",
    "notificationChannel": "EMAIL",
    "dialingCode": ""},
    {"notificationFormat": "TEXT",
    "countryCode": "840",
    "contact": "1111111111",
    "languageCode": "en-US",
    "notificationChannel": "SMS",
    "dialingCode": "1"}],
  "customerClientId": "customerClientId"
}

Sample Response

200

{"requestId": "123e4567-e89b-12d3-a456-426614174000",
  "messageCode": "VPC-AM-1001",
  "message": "Successfully Created Account"
}

400

{"errorCode": "VPC-AM-2001",
  "errorMessage": "Invalid Account Number",
  "requestId": "123e4567-e89b-12d3-a456-426614174000"
}