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.

Request

Headers

Parameter
Type
Required
Description

Authorization

String

Required

Mandatory. JWT token in format Bearer eyj0.... For more information about authentication, please refer to Authentication.

Request Body

Parameter
Type
Required
Description
Possible values
Example

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

country

String

Required

Beneficiary Country of Incorporation or Birth. ISO 3166-1 alpha-3.

Countries

MXN

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?