Real Bank Accounts
These are the physical bank accounts opened for you in the countries we operate, or in Attrus's bank or with our partners in other countries. It is also the bank account you have abroad to receive the money collected and converted in LATAM. Also, it is the physical bank account which we will use to make a payout for your customer locally.
Those are the accounts you will share with the customers to receive payments in Brazil, Mexico, Colombia and Chile. For payins, you will not need to register your customers bank accounts.
After authenticating, you can view bank accounts assigned to your user by clicking the button below:
Required information for bank account registration
The following endpoint is used to register new bank accounts for customers. You can register bank accounts for different countries with their specific requirements. As soon as you send the request to register a bank account, you will receive a response with the bank account details.
curl -X POST "https://api.facilitapay.com/api/v1/subject/:id/bank_accounts" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9...." \
-d '{
"bank_account": {
"account_type": "conta-corrente",
"account_number": "85296",
"branch_number": "0031",
"owner_document_number": "01472583691",
"owner_document_type": "cpf",
"owner_name": "André Freitas Lopes",
"branch_country": "BRA",
"bank": {
"code": "031",
"name": "Banco do Estado de Minas Gerais"
},
"pix_info": {
"type": "CPF",
"key": "01472583691"
},
"currency": "BRL"
}
}'
Response
{
"data": {
"routing_number": "001587951",
"owner_name": "André Freitas Lopes",
"owner_document_number": "01472583691",
"owner_document_type": "cpf",
"owner_company": {
"social_name": "André Freitas Lopes",
"id": "a1f3a3a9-ad04-4450-aeee-c28e92c597a9",
"document_type": "CPF",
"document_number": "01472583691"
},
"intermediary_bank_account": null,
"id": "a3728935-d046-4fd9-a995-0b80c7807ed6",
"currency": "BRL",
"branch_number": "0031",
"branch_country": "BRA",
"iban": null,
"nickname": null,
"bank": {
"swift": null,
"ispb": null,
"name": "Banco do Estado de Minas Gerais",
"id": "f9dcd833-a4a8-4595-8f5a-b63b0a98292d",
"code": "031",
"country": "BRA"
},
"pix_info": {
"type": "CPF",
"key": "0147258369"
},
"account_type": "conta-corrente",
"account_number": "85296",
"aba": null
}
}
HTTP Request
POST /subject/:id/bank_accounts
Path Parameters
| Parameter | Description | Type | Required |
|---|---|---|---|
| id | Customer UUID | string | true |
Body Parameters
| Parameter | Description | Type | Required | Required For |
|---|---|---|---|---|
bank_account | An object containing: | object | true | |
account_number | Account number | string | false | Bank account with full bank details |
branch_number | Account branch number | string | false | Bank account with full bank details |
owner_name | Account owner full name | string | true | |
currency | Account currency (ISO 4217 format) | string | true | |
pix_info | PIX information associated with the bank account | object | false | Bank account with only PIX information |
pix_info.type | Type of PIX key: CPF, CNPJ, EMAIL, PHONE, or EVP (random key) | string | false | When pix_info is given |
pix_info.key | PIX key value. For PHONE type, the country code is required (e.g., +5511999999999) | string | false | When pix_info is given |
When using PIX key type PHONE, you must include the country code with the + prefix. Example: +5511999999999 (Brazil). Keys without the country code will be rejected.
bank | An object containing information from the bank | object | false | Bank account with full bank details
bank.code | Bank code in Brazil (3 digits) | string | false | Bank account with full bank details
bank.ispb | An 8-digit code that identifies the bank in the Brazilian payments system | string | false | Bank account with full bank details
bank.name | Bank name | string | false | Bank account with full bank details
account_type | Account type | string | false |
owner_document_number | Document number for the account owner | string | false |
owner_document_type | Document type (cpf or cnpj) | string | false |
branch_country | An ISO 3166-1 alpha-3 country code of the account country | string | false |
Brazilian Bank Accounts
Your Brazilian Bank Account will be available within your credentials and your Portal. You can always check it in Bank Accounts > Attrus Payin accounts, or directly in this documentation, in the section above.
To add your customer's bank account in Brazil, use the endpoint below. Replace :id with the subject_id:
curl -X POST "https://api.facilitapay.com/api/v1/subject/:id/bank_accounts" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9...." \
-d '{
"bank_account": {
"account_type": "conta-corrente",
"account_number": "85296",
"branch_number": "0031",
"owner_document_number": "01472583691",
"owner_document_type": "cpf",
"owner_name": "André Freitas Lopes",
"branch_country": "BRA",
"bank": {
"code": "031",
"name": "Banco do Estado de Minas Gerais"
},
"pix_info": {
"type": "CPF",
"key": "01472583691"
},
"currency": "BRL"
}
}'
Response
{
"data": {
"routing_number": "001587951",
"owner_name": "André Freitas Lopes",
"owner_document_number": "01472583691",
"owner_document_type": "cpf",
"owner_company": {
"social_name": "André Freitas Lopes",
"id": "a1f3a3a9-ad04-4450-aeee-c28e92c597a9",
"document_type": "CPF",
"document_number": "01472583691"
},
"intermediary_bank_account": null,
"id": "a3728935-d046-4fd9-a995-0b80c7807ed6",
"currency": "BRL",
"branch_number": "0031",
"branch_country": "BRA",
"iban": null,
"nickname": null,
"bank": {
"swift": null,
"ispb": null,
"name": "Banco do Estado de Minas Gerais",
"id": "f9dcd833-a4a8-4595-8f5a-b63b0a98292d",
"code": "031",
"country": "BRA"
},
"pix_info": {
"type": "CPF",
"key": "0147258369"
},
"account_type": "conta-corrente",
"account_number": "85296",
"aba": null
}
}
HTTP Request
POST /subject/:id/bank_accounts
Path Parameters
| Parameter | Description | Type | Required |
|---|---|---|---|
id | Customer UUID | string | true |
Body Parameters
See bank account body properties
Mexican Bank Accounts
Your Mexican Bank Account will be available within your credentials and your Portal. You can always check it in Bank Accounts > Attrus Payin accounts.
To add your customer's bank account in Mexico, use the endpoint below. Replace :id with the subject_id:
curl -X POST "https://api.facilitapay.com/api/v1/subject/:id/bank_accounts" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9...." \
-d '{
"bank_account": {
"bank": {
"name": "IXE Banco, S.A",
"code": "032"
},
"account_number": "032180000118359719",
"account_type": "conta-corrente",
"owner_name": "Horacio Soto Morales",
"currency": "MXN",
"owner_document_type": "curp",
"owner_document_number": "SOMH031031HSRTRR04"
}
}'
Response
{
"data": {
"routing_number": null,
"pix_info": null,
"owner_name": "Horacio Soto Morales",
"owner_document_number": "MIML92Y0DAD86",
"owner_document_type": "curp",
"owner_company": {
"social_name": "Horacio Soto Morales",
"id": "ac3bf8d8-e299-4fe9-8565-2ff6fe7c2dec",
"document_type": "curp",
"document_number": "SOMH031031HSRTRR04"
},
"nickname": null,
"intermediary_bank_account": null,
"id": "516f4dcb-673a-4687-91a4-98bb52a4983a",
"iban": null,
"currency": "MXN",
"branch_number": null,
"branch_country": null,
"bank": {
"swift": null,
"name": "IXE Banco, S.A",
"id": "784fa04b-923a-429e-baee-d96298431dc0",
"country": "MEX",
"code": "032",
"ispb": null
},
"account_type": "conta-corrente",
"account_number": "032180000118359719",
"aba": null
}
}
In Mexico, the account_number is the CLABE (Clave Bancaria Estandarizada) and the document_type is curp or rfc. Below you can check a payload with initial required information.
HTTP Request
POST /subject/:id/bank_accounts
Path Parameters
| Parameter | Description | Type | Required |
|---|---|---|---|
id | Customer UUID | string | true |
Body Parameters
| Parameter | Description | Type | Required | Required For |
|---|---|---|---|---|
bank_account | An object containing all the required values | object | true | |
account_number | Account CLABE | string | true | |
account_type | Account type in Mexico | string | true | |
currency | Account currency (ISO 4217 format) | string | true | |
bank | An object containing information from the bank | object | true | |
bank.name | Bank name | string | true | |
bank.code | Bank code in Mexico (3 digits) | string | true | |
owner_document_type | Document type (curp or rfc) | string | false | |
owner_document_number | Account owner document number CURP/RFC | string | false | |
owner_name | Account owner full name | string | false | |
branch_country | An ISO 3166-1 alpha-3 country code of the account country | string | false |
Common mistakes
Invalid bank code format
{
"errors": {
"bank": {
"code": ["has invalid format. Three or four digits are expected"]
}
}
}
Solution: The bank code must be exactly 3 or 4 numeric digits. Examples:
002,012,0012,646. See the list of valid Mexican bank codes below.
Mexican Bank Codes Reference
Below is a list of commonly used Mexican bank codes. The code must be 3 or 4 digits:
| Code | Bank Name | Code | Bank Name |
|---|---|---|---|
002 | BANAMEX | 072 | BANORTE |
012 | BBVA BANCOMER | 127 | AZTECA |
014 | SANTANDER MX | 128 | AUTOFIN |
021 | HSBC MEXICO | 130 | COMPARTAMOS |
030 | BAJIO | 132 | MULTIVA BANCO |
032 | IXE Banco | 137 | BANCOPPEL |
036 | BANCO INBURSA | 138 | ABC CAPITAL |
042 | MIFEL | 140 | CONSUBANCO |
044 | SCOTIABANK | 145 | BBASE |
046 | BANREGIO | 601 | GBM |
058 | BANREGIO | 606 | ESTRUCTURADORES |
059 | INVEX | 616 | FINAMEX |
060 | BANSI | 640 | J.P. MORGAN |
062 | AFIRME | 646 | STP |
Colombian Bank Accounts
Your Colombian Bank Account will be available within your credentials and your Portal. You can always check it in Bank Accounts > Attrus Payin accounts.
To add your customer's bank account in Colombia, use the endpoint below. Replace :id with the subject_id:
curl -X POST "https://api.facilitapay.com/api/v1/subject/:id/bank_accounts" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9...." \
-d '{
"bank_account": {
"account_type": "poupanca",
"account_number": "06553536",
"branch_number": "0031",
"owner_document_number": "9016404513",
"owner_document_type": "cc",
"owner_name": "Andrés Castillo",
"branch_country": "COL",
"bank": {
"code": "1303",
"name": "Banco Union"
},
"currency": "COP"
}
}'
Response
{
"data": {
"routing_number": null,
"pix_info": null,
"owner_name": "Andrés Castillo",
"owner_document_number": "9016404513",
"owner_document_type": "cc",
"owner_company": {
"social_name": "POWER HOME THEATER",
"id": "f64e512c-1a81-42d9-9ac9-05f369bc98e3",
"document_type": "tax_id",
"document_number": "2348909854385"
},
"nickname": null,
"intermediary_bank_account": null,
"id": "76c82ab0-a0fb-4536-8c48-fe261e6d0b2d",
"iban": null,
"currency": "COP",
"branch_number": "0031",
"branch_country": "COL",
"bank": {
"swift": null,
"name": "Banco Union",
"ispb": null,
"id": "d6870540-f347-4af6-b333-75b515ef5108",
"country": "COL",
"code": "1303"
},
"account_type": "poupanca",
"account_number": "06553536",
"aba": null
}
}
HTTP Request
POST /subject/:id/bank_accounts
Path Parameters
| Parameter | Description | Type | Required |
|---|---|---|---|
id | A Colombian customer UUID | string | true |
Body Parameters
| Parameter | Description | Type | Required |
|---|---|---|---|
bank_account | An object containing: | object | true |
account_number | Account number | string | true |
branch_number | Account branch number | string | true |
owner_name | Account owner full name | string | true |
currency | Account currency. For Colombia, use COP | string | true |
bank | An object containing information from the bank which the account belongs: | object | true |
bank.name | Bank name | string | true |
bank.code | Bank Code | string | true |
account_type | Account type. In Colombia, they will be mapped as follows: Conta Corriente -> conta-corrente; Cuenta de Ahorros -> poupanca; Cuentas Nómina -> salary; Cuentas pensionales -> payment | string | false |
owner_document_number | Document number for the account owner | string | false |
owner_document_type | cc or nit (downcase) | string | false |
branch_country | An ISO 3166-1 alpha-3 country code of the account country. For Colombia, use COL | string | false |
CC and NIT are unique identification codes for Colombian citizens and companies, respectively, and are used to track tax information and other identification purposes by the government. They are analog to the SSN - Social Security Number ou CURP, for Mexico. If a previously registered bank code is provided, its corresponding name will be overwritten with the recorded in our database.
Common mistakes
Not providing currency
{
"errors": {
"currency": [
"can't be blank"
]
}
}
Solution: Provide a valid currency, in this case COP
Chilean Bank Accounts
Your Chilean Bank Account will be available within your credentials and your Portal. You can always check it in Bank Accounts > Attrus Payin accounts.
To add your customer's bank account in Chile, use the endpoint below. Replace :id with the subject_id:
curl -X POST "https://api.facilitapay.com/api/v1/subject/:id/bank_accounts" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9...." \
-d '{
"bank_account": {
"account_type": "conta-corrente",
"account_number": "06553536",
"owner_document_number": "552211774",
"owner_document_type": "rut",
"owner_name": "Francisco Muñoz",
"branch_country": "CHL",
"bank": {
"code": "055",
"name": "Banco Consorcio"
},
"currency": "CLP"
}
}'
Response
{
"data": {
"routing_number": null,
"pix_info": null,
"owner_name": "Francisco Muñoz",
"owner_document_number": "552211774",
"owner_document_type": "rut",
"owner_company": {
"social_name": "POWER HOME THEATER",
"id": "f64e512c-1a81-42d9-9ac9-05f369bc98e3",
"document_type": "tax_id",
"document_number": "2348909854385"
},
"nickname": null,
"intermediary_bank_account": null,
"id": "76c82ab0-a0fb-4536-8c48-fe261e6d0b2d",
"iban": null,
"currency": "CLP",
"branch_number": null,
"branch_country": "CHL",
"bank": {
"swift": null,
"name": "Banco Consorcio",
"ispb": null,
"id": "d6870540-f347-4af6-b333-75b515ef5108",
"country": "CHL",
"code": "055"
},
"account_type": "conta-corrente",
"account_number": "06553536",
"aba": null
}
}
HTTP Request
POST /subject/:id/bank_accounts
Path Parameters
| Parameter | Description | Type | Required |
|---|---|---|---|
id | A Chilean customer UUID | string | true |
Body Parameters
| Parameter | Description | Type | Required |
|---|---|---|---|
bank_account | An object containing: | object | true |
account_number | Account number. In some banks, the number is the same as the owner's RUT | string | true |
currency | Account currency. For Chile, use CLP | string | true |
bank | An object containing information from the bank which the account belongs: | object | true |
bank.name | Bank name | string | true |
bank.code | Bank Code | string | true |
account_type | Account type. In Chile, they will be mapped as follows: Conta Corriente -> conta-corrente; Cuenta de Ahorros -> poupanca; Cuentas Nómina -> salary; Cuentas pensionales -> payment | string | false |
owner_document_number | Document number for the account owner | string | false |
owner_document_type | For Chile, use rut | string | false |
owner_name | Account owner full name | string | false |
branch_country | An ISO 3166-1 alpha-3 country code of the account country. For Chile, use CHL | string | false |
branch_number | Account branch number | string | false |
The RUT is an unique identification code for Chile citizens or companies, and is used to track tax information and other identification purposes by the government. If a previously registered bank code is provided, its corresponding name will be overwritten with the recorded in our database.
International Bank Accounts
Your first international account will be created during the onboarding process, based on the details provided in your contract. If you wish to register an additional account, you can use this endpoint. Please note that international accounts are only available in USD or EUR.
curl -X POST "https://api.facilitapay.com/api/v1/bank_accounts" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9...." \
-d '{
"bank_account": {
"account_number": "852077",
"owner_document_number": "01472583691",
"owner_document_type": "tax_id",
"owner_name": "Company Ltd.",
"bank": {
"name": "International Bank",
"swift": "CHASUS33"
},
"currency": "USD",
"routing_number": "0015687456"
}
}'
Response
{
"data": {
"routing_number": "0015687456",
"pix_info": null,
"owner_name": "Company Ltd.",
"owner_document_type": "tax_id",
"owner_document_number": "01472583691",
"owner_company": {
"social_name": "Company Ltd.",
"id": "d6db1129-0ed3-4da7-9beb-d8c6326465f2",
"document_type": "tax_id",
"document_number": "01472583691"
},
"nickname": null,
"intermediary_bank_account": null,
"id": "8bc686a0-c998-4492-a3f8-c32dcdb4029a",
"iban": null,
"currency": "USD",
"branch_number": null,
"branch_country": null,
"bank": {
"swift": "CHASUS33",
"name": "International Bank",
"ispb": null,
"id": "f628acf0-42aa-4313-afc0-e454520648af",
"country": null,
"code": null
},
"account_type": "conta-corrente",
"account_number": "852077",
"aba": null
}
}
HTTP Request
POST /bank_accounts
Body Parameters
| Parameter | Description | Type | Required |
|---|---|---|---|
bank_account | An object containing: | object | true |
account_number | Account number | string | true |
owner_document_number | Account owner document number | string | true |
owner_name | Account owner full name | string | true |
currency | Account currency (ISO 4217 format) | string | true |
routing_number | Routing number | string | false |
bank | an object containing: | object | true |
bank.name | Bank name | string | true |
bank.swift | Bank Swift code | string | true |
If a previously registered swift code is provided, its corresponding bank name will be overwritten with the recorded bank name from our database.
Bank Account List
Request
curl -X GET "https://api.facilitapay.com/api/v1/subject/:id/bank_accounts" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9...."
Response
{
"data": [
{
"routing_number": null,
"owner_name": "Mauricio Silva",
"owner_document_number": "24189952087",
"owner_company": {
"social_name": "Mauricio Silva",
"id": "0be2c99a-bb6e-4a1f-97a5-5eeaff0671c8",
"document_type": "cpf",
"document_number": "24189952087"
},
"intermediary_bank_account_id": null,
"id": "3e217a9d-bfc7-48bc-b436-304f3edbd82f",
"iban": null,
"currency": "BRL",
"branch_number": "134",
"branch_country": "BRA",
"pix_info": null,
"nickname": null,
"bank": {
"swift": "BBDEBRSP",
"country": "BRA",
"ispb": null,
"name": "Banco Bradesco S.A.",
"id": "618804fc-bc62-4754-bf24-651df9a098b3",
"code": "237"
},
"account_type": "conta-corrente",
"account_number": "1350056",
"aba": null
}
]
}
You can use the following endpoint to list all the registered bank accounts for a customer:
HTTP Request
GET /subject/:id/bank_accounts
Path Parameters
| Parameter | Description | Type | Required |
|---|---|---|---|
| id | Customer UUID | string | true |
Bank Account Update
Request
curl -X PUT "https://api.facilitapay.com/api/v1/subject/:id/bank_accounts/:bank_account_id" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9...." \
-d '{
"bank_account": {
"account_number": "32924070",
"branch_number": "0044",
"owner_document_number": "12345678901",
"owner_name": "Account owner name",
"branch_country": "BR",
"bank": {
"code": "131",
"name": "Caixa Econômica Municipal"
},
"currency": "BRL"
}
}'
Response
{
"data": {
"routing_number": null,
"owner_name": "Mauricio Silva",
"owner_document_number": "24189952087",
"pix_info": null,
"owner_company": {
"social_name": "Mauricio Silva",
"id": "0be2c99a-bb6e-4a1f-97a5-5eeaff0671c8",
"document_type": "cpf",
"document_number": "24189952087"
},
"nickname": null,
"intermediary_bank_account_id": null,
"id": "3e217a9d-bfc7-48bc-b436-304f3edbd82f",
"iban": null,
"currency": "BRL",
"branch_number": "134",
"branch_country": "BRA",
"pix_info": null,
"nickname": null,
"bank": {
"swift": "BBDEBRSP",
"country": "BRA",
"ispb": null,
"name": "Banco Bradesco S.A.",
"id": "618804fc-bc62-4754-bf24-651df9a098b3",
"code": "237"
},
"account_type": "conta-corrente",
"account_number": "1350056",
"aba": null
}
}
To update a bank account's information, you can use the endpoint below:
HTTP Request
PUT /subject/:id/bank_accounts/:bank_account_id
Path Parameters
| Parameter | Description | Type | Required |
|---|---|---|---|
id | Customer UUID | string | true |
bank_account_id | Bank account UUID | string | true |
Body Parameters
| Parameter | Description | Type | Required |
|---|---|---|---|
bank_account | An object containing the values to update | object | false |
account_number | Account number | string | false |
branch_number | Account branch number | string | false |
owner_document_number | Account owner document number CPF/CNPJ | string | false |
owner_name | Account owner full name | string | false |
branch_country | An ISO 3166-1 alpha-2 country code of the account country | string | false |
currency | Account currency (ISO 4217 format) | string | false |
bank | An object containing bank information | object | false |
bank.code | Bank code in Brazil (3 digits) | string | false |
bank.name | Bank name | string | false |
Bank Account Details
Request
curl -X GET "https://api.facilitapay.com/api/v1/subject/:id/bank_accounts/:bank_account_id" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9...."
Response
{
"data": {
"routing_number": null,
"owner_name": "Mauricio Silva",
"owner_document_number": "24189952087",
"owner_company": {
"social_name": "Mauricio Silva",
"id": "0be2c99a-bb6e-4a1f-97a5-5eeaff0671c8",
"document_type": "cpf",
"document_number": "24189952087"
},
"intermediary_bank_account_id": null,
"id": "3e217a9d-bfc7-48bc-b436-304f3edbd82f",
"iban": null,
"currency": "BRL",
"branch_number": "134",
"branch_country": "BRA",
"pix_info": null,
"nickname": null,
"bank": {
"swift": "BBDEBRSP",
"country": "BRA",
"ispb": null,
"name": "Banco Bradesco S.A.",
"id": "618804fc-bc62-4754-bf24-651df9a098b3",
"code": "237"
},
"account_type": "conta-corrente",
"account_number": "1350056",
"aba": null
}
}
To check a bank account's information, you can use the following endpoint:
HTTP Request
GET /subject/:id/bank_accounts/:bank_account_id
Path Parameters
| Parameter | Description | Type | Required |
|---|---|---|---|
id | Customer UUID | string | true |
bank_account_id | Bank account UUID | string | true |