Visa Commercial Fraud Solutions API Reference
Visa Commercial Fraud Solutions
Search API Reference
- Getting Started
- Request & Response Codes
- API Reference
- ACS Provider Outbound Events
- EventPush biometric result
- Account Administration - Deprecated
- postGet Account Details
- putUpdate Account
- postCreate Account
- delDelete Account
- Account Management
- postCreate Account
- postGet Account
- putUpdate Account
- delDelete Account
- Client Outbound Events
- EventPush user-mapping response
- EventPush authentication request
- Commercial 3DS Authentication
- postGet Authentication Method
- postInitiate Authentication
- postSubmit Validation Result
- postSave Authentication Record
- Commercial Directory
- postCreate User Mapping
- postGet User Mapping
- putUpdate User Mapping
- postDelete User Mapping
- postGet Request Status
- Company Management - Deprecated
- postGet Company Details
- putUpdate Company
- postCreate Company
- delDelete Company
- Contact Management - Deprecated
- postGet Contact Details
- postCreate Contact
- delDelete Contact
- Control Management - Deprecated
- postSet AccountControls
- postGet AccountControls
- delDelete AccountControls
- Intelligent Payment Controls
- postGet Rule Suggestions
- postSet Suggested Modified Rules
- Report Management
- postGet Transaction History
- postGet Notification History
- Report Management - Deprecated
- postGet Transaction History
- postGet Notification History
- Rules Management
- postGet Rules
- postSet Rules
- delDelete Rules
- postBlock Account
- postDisable Enable Rules
- Supplier Validation
- postRegister-Supplier
- putUpdate-Supplier
- postRetrieve-Supplier
- postUpdate Supplier
- postRetrieve Supplier
- postRegister Supplier
- ACS Provider Outbound Events
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"
}