Request Individual
Please find below the information you require regarding virtual accounts.
Availability: Argentina | Brazil | Mexico
Availability Offline: Chile
POST
{{api_base_url}}/api/virtual-account
To create a virtual account, you'll need to send a POST
request to the /api/virtual-account
endpoint.
When you request a new virtual account, its status will initially be INPROGRESS
. The status will then update according to the typical processing times for the specific country.
Note
Chile currently only supports the creation of offline virtual accounts. Refer to the Offline Virtual Account Creation article for more detailed information.
Request
Headers
Authorization
String
Required
Mandatory. JWT token in format Bearer eyj0...
. For more information about authentication, please refer to Authentication.
Request Body
externalId
String
Required
A unique identifier generated by your system to track the transaction (alphanumeric and hyphens). We recommend using UUID4 to ensure uniqueness.
0a8bc036-98bc-417e-984a-3ff8dd227d22
accountNumber
String
Required
Localpayment account number.
48.448.400.000.011
beneficiary
Object
Required
Account Beneficiary Information.
beneficiary.type
String
Required
Beneficiary type.
COMPANY
, INDIVIDUAL
INDIVIDUAL
beneficiary.name
String
Required
Beneficiary name.
John
beneficiary.lastName
String
Optional
Beneficiary lastname. Required for individuals, ignored for companies.
Doe
beneficiary.document
Object
Required
Beneficiary documentation.
beneficiary.document.type
String
Required
The type of identity document, such as a National Identity Number, Social Security Number, or Driver's License, depending on the country of issuance.
RFC
beneficiary.document.id
String
Required
Identity document number (usually a number). This must be a valid number according to the rules for the specific document type.
EXTF900101NI1
address
Object
Optional
Beneficiary's address.
address.street
String
Optional
Street name.
address.number
String
Optional
Street number.
address.city
String
Optional
City.
address.state
String
Optional
State.
address.country
String
Optional
Address country.
address.zipCode
String
Optional
Zip code.
address.comment
String
Optional
Additional address information.
website
String
Optional
Merchant Website
amazon.com
Examples
Request
Below are examples using curl
:
curl --request POST \
--url https://{{api_base_url}}/api/virtual-account \
--header 'Authorization: Bearer <your_access_token>' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"country": "ARG",
"beneficiary": {
"type": "INDIVIDUAL",
"name": "John",
"lastName": "Doe",
"document": {
"id": "27-32548697-5",
"type": "CUIL"
},
"address": {
"street": "Calle 34",
"number": "123",
"city": "Quilmes",
"state": "Buenos Aires",
"country": "Argentina",
"zipCode": "7400",
"comment": "Area centro"
}
},
"website": "https://localpayment.com",
"externalId": "de14bcf2-15ee-22e3-ab59-99c3fcba31e8",
"accountNumber": "032.032.00000213"
}
'
Response
A successful request returns an HTTP status code 201
, with the account status set to INPROGRESS
. In contrast, if an error occurs, the API responds with an HTTP status code in the 40X
range, and detailed error information is provided within the status
object.
{
"externalId": "de14bcf2-15ee-22e3-ab59-99c3fcba31e8",
"internalId": "5ba31ea0-669b-43f6-88a1-1601f3cade0a",
"accountNumber": "032.032.00000213"",
"country": "ARG",
"currency": "ARS",
"cvu": "0000101100000000000111",
"beneficiary": {
"type": "INDIVIDUAL",
"name": "John",
"document": {
"type": "CUIT",
"id": "20411111111"
},
"fullName": "John Doe",
"lastName": "Doe"
},
"status": {
"code": "100",
"description": "INPROGRESS",
"detail": "Virtual account in progress"
},
"errors": []
}
Error response
{
"externalId": "de14bcf2-15ee-22e3-ab59-99c3fcba31e8",
"internalId": "5ba31ea0-669b-43f6-88a1-1601f3cade0a",
"status": {
"code": "300",
"description": "REJECTED",
"detail": "Invalid param + [beneficiary.document.id] + doesn´t match regex ^(20|23|24|25|26|27|30|33|34)-?\\d{2}[.]?\\d{3}[.]?\\d{3}-?\\d$"
},
"errors": [
{
"code": "300",
"detail": "Invalid param + [beneficiary.document.id] + doesn´t match regex ^(20|23|24|25|26|27|30|33|34)-?\\d{2}[.]?\\d{3}[.]?\\d{3}-?\\d$"
}
]
}
You can check the current status of the virtual account using the Check Virtual Account Status endpoint.
Last updated
Was this helpful?