Payretailers
PayRetailers Integration
PayRetailers allows processing pay-ins through local payment methods in LATAM (PSE, EFECTY, Pago Fácil, Khipu, SPEI, PIX, Transfer, and Colombia Card), as well as pay-outs. Payments can be made via checkout or redirection.
Payins with PayRetailers
General Requirements
Supported Currencies
PayRetailers currently supports the following currencies:
- USD
- ARS
- COP
- PEN
- MEX
- BRL
Required Data (extra_data)
All payment methods require the following information inside extra_data:
profile
first_namelast_nameemaildocument_identification_numberphone.number,phone.prefix(if applicable)
billing_address
city,country,zip_code,address1,state_code
Example:
"extra_data": {
"checkout": {
"uuid": "C42043F9-B77C-4918-BD43-86C526B4F24D"
},
"profile": {
"first_name": "John",
"last_name": "Doe",
"email": "johndoe@gmail.com",
"document_identification_number": "92309089",
"phone": {
"number": "02614235138",
"prefix": "54"
}
},
"billing_address": {
"city": "Bogota",
"country": "COL",
"address1": "Calle Mayor, 23",
"zip_code": "111611",
"state_code": ""
}
}
Additional URL Parameters
| Parameter | Description | Examples |
|---|---|---|
apm | Selects the payment method | ?apm=PSE, ?apm=PIX, ?apm=TRANSFER |
lang | Language of the flow | ?lang=es, ?lang=en, ?lang=pt |
Default language: es (Spanish).
Sandbox Environment Behavior
The sandbox environment of PayRetailers may not fully reflect the real behavior of payment methods.
To simulate final states in sandbox, you can use the following amount values:
amount | Status | Description |
|---|---|---|
11111 | Paid | Payment accepted |
44444 | Refused | Payment cancelled |
55555 | Refused | Payment expired |
66666 | Refused | Payment failed |
| Any other value | Waiting processor response | Pending payment |
Payment Methods
PSE (Colombia)
- Country:
COL - Currencies: COP, USD
- APM: PSE
"extra_data": {
"profile": {
"first_name": "John",
"last_name": "Doe",
"email": "test@example.com",
"document_identification_number": "92309089",
"phone": { "number": "02614235138", "prefix": "54" }
},
"billing_address": {
"city": "Bogota",
"country": "COL",
"address1": "Calle 12",
"zip_code": "111611",
"state_code": ""
}
}
EFECTY (Colombia)
- Country:
COL - Currencies: COP, USD
- APM: EFECTY
(Same example as PSE)
Pago Fácil (Argentina)
- Country:
ARG - Currencies: ARS, USD
- APM: PAGO_FACIL
"extra_data": {
"profile": {
"first_name": "John",
"last_name": "Doe",
"email": "test@example.com",
"document_identification_number": "92309089"
},
"billing_address": {
"city": "Buenos Aires",
"country": "ARG",
"address1": "Av. Libertador 123",
"zip_code": "1000",
"state_code": ""
}
}
Khipu (Argentina and Peru)
- Countries:
ARG,PER - Currencies: ARS, PEN, USD
- APM: KHIPU
"extra_data": {
"profile": {
"first_name": "John",
"last_name": "Doe",
"email": "test@example.com",
"document_identification_number": "92309089"
},
"billing_address": {
"city": "Lima",
"country": "PER",
"address1": "Av. Arequipa 123",
"zip_code": "15046",
"state_code": ""
}
}
SPEI (Mexico)
- Country:
MEX - Currencies: MEX, USD
- APM: SPEI
"extra_data": {
"profile": {
"first_name": "Jhon",
"last_name": "Doe",
"email": "test@payretailers.com",
"document_identification_number": "PERM850515MDFPRD32"
},
"billing_address": {
"city": "Ciudad de Mexico",
"country": "MEX",
"address1": "Calle Mayor 12",
"zip_code": "06010",
"state_code": ""
}
}
PIX (Brazil)
- Country:
BRA - Currencies: BRL, USD
- APM: PIX
"extra_data": {
"profile": {
"first_name": "Jhon",
"last_name": "Doe",
"email": "test@payretailers.com",
"document_identification_number": "310.535.927-36"
},
"billing_address": {
"city": "Sao Paulo",
"country": "BRA",
"address1": "R. Sao Joaquim, 596",
"zip_code": "01508001",
"state_code": ""
}
}
TRANSFER (Ecuador and Brazil)
- Countries:
ECU,BRA - Currencies: USD, BRL
- APM: TRANSFER
Supported Banks (payment.bank_name)
| Country | Allowed Values |
|---|---|
| Ecuador | BANCO_PICHINCHA, BANCO_GUAYAQUIL |
| Brazil | SANTANDER_BRASIL |
Default Values
If payment.bank_name is not sent:
- Ecuador →
BANCO_PICHINCHA - Brazil →
SANTANDER_BRASIL
Example (Ecuador, Banco Guayaquil)
"extra_data": {
"profile": {
"first_name": "Jhon",
"last_name": "Doe",
"email": "test@payretailers.com",
"document_identification_number": "00113562600"
},
"billing_address": {
"city": "Quito",
"country": "ECU",
"address1": "Av. Amazonas 123",
"zip_code": "170102",
"state_code": ""
},
"payment": {
"bank_name": "BANCO_GUAYAQUIL"
}
}
Card (Colombia)
- Country:
COL - Currencies: COP, USD
- APM: CARD
"extra_data": {
"profile": {
"first_name": "Jhon",
"last_name": "Doe",
"email": "test@payretailers.com",
"document_identification_number": "00113562600",
"phone": { "number": "579999999999" }
},
"billing_address": {
"city": "Bogota",
"country": "COL",
"address1": "Calle Mayor 12",
"zip_code": "111611",
"state_code": ""
}
}
Limits for transactions
The following table reflects the transaction limits based on business type, user and country:
| Country | Cash limit per user per day | Cash limit per user per month | Online limit per user per day | Online limit per user per month | Credit Card limit per user per day | Credit Card limit per user per month |
|---|---|---|---|---|---|---|
| Ecuador | 2.000 USD | 30.000 USD | 35.000 USD | 80.000 USD | Not available | Not available |
| Perú | 2.000 USD | 30.000 USD | 35.000 USD | 80.000 USD | Not available | Not available |
| México | 2.000 USD | 30.000 USD | 35.000 USD | 80.000 USD | Not available | Not available |
| Panamá | 2.000 USD | 30.000 USD | 35.000 USD | 80.000 USD | Not available | Not available |
| El Salvador | 2.000 USD | 30.000 USD | 35.000 USD | 80.000 USD | Not available | Not available |
| Nicaragua | 2.000 USD | 30.000 USD | 35.000 USD | 80.000 USD | No disponible | Not available |
| Costa Rica | 2.000 USD | 30.000 USD | 35.000 USD | 80.000 USD | 2.500 USD | 7.000 USD |
| Chile | 2.000 USD | 30.000 USD | 35.000 USD | 80.000 USD | 35.000 USD | 80.000 USD |
| Brazil | 10.000 USD | 30.000 USD | 35.000 USD | 80.000 USD | Not available | Not available |
| Guatemala | 2.000 USD | 8.000 USD | Not available | Not available | Not available | Not available |
| Colombia | 10.000 USD | 30.000 USD | 35.000 USD | 80.000 USD | 2.500 USD | 7.000 USD |
| Argentina | 10.000 USD | 30.000 USD | 35.000 USD | 80.000 USD | 2.500 USD | 7.000 USD |
Transaction errors
With this table we reflect possible errors that may arise in the payment process:
| Error Message | Meaning |
|---|---|
| PAYMENT_METHOD_NOT_ALLOWED | The payment method ID used in the request is not active or enabled, and cannot be used. |
| PAYMENT_PSP_ERROR | Generic error message received from the PSP, normally originated from a timeout on the PSP side in high traffic instances. |
| PERSONAL_ID_VALIDATION_FAILED | The PersonalID doesn't exist or belongs to a minor, deceased individuals or PEP and associates. Also the payment will be blocked if the PersonalID is related to any international lists of money laundering and/or terrorist financing. |
| TRANSACTION_INVALID_FIELD_LANGUAGE | The "Language" field of the request contains an invalid language value. |
| TRANSACTION_INVALID_FIELD_CURRENCY | The "Currency" field contains an unsupported or invalid currency value. |
| TRANSACTION_INVALID_FIELD_COUNTRY | The "Country" field contains an unsupported or invalid country value. |
| TRANSACTION_INVALID_EMAIL | The "Email" field contains an invalid value(normally due to email syntax). |
| TRANSACTION_INVALID_CPF | (Brazil only) the "personalID" field contains an invalid value. |
| TRANSACTION_MIN_AMOUNT | The “Amount” field contains a value that is below the minimum limit for the requested payment method. |
| TRANSACTION_MAX_AMOUNT | The “Amount” field contains a value that exceeds the maximum limit for the requested payment method. |
| INVALID_AMOUNT | The value sent for “amount” is not an integer. |
| TRANSACTION_REQUIRED_COUNTRY | The "Country" parameter is empty. |
| TRANSACTION_REQUIRED_CURRENCY | The "Currency" parameter is empty. |
| TRANSACTION_BLOCKED BY_CUSTOMER_LIMIT_RULE | The daily/monthly limit of transaction attempts for this customer has been reached, and no transactions can be generated for the customer until the next day/week/month. |
| CUSTOMER_COMPLIANCE_VALIDATION_FAILED | (Brazil only) the "personalID" field contains a non-existent CPF. |
| MERCHANT_COMPLIANCE VALIDATION_ERROR | If one of your users is blocked with this error message please expose your case on our Freshdesk. |
| PAYMENT_PSP_ERROR | Generic error message received from the payment partner PSP, usually comes from a timeout on PSP’s side in high traffic instances. |
| TRANSACTION_CREATION_ERROR | The payment method used in the request is not active and cannot be used. Shop credentials have been disabled. |
| PAYMENT_AMOUNT_NOT_EQUAL | The paid amount differs from the original amount or QR amount. |
| PAYER_CPF_NOT_EQUAL | The payer's document number(CPF) does not match the buyer's document number. |
| CORPORATE_BANK_ACCOUNT_PAYMENT_NOT_ALLOWED | The transaction was paid from a corporate bank account. |
| PAYMENT_COMPLIANCE_VALIDATION_FAILED | The transaction was paid from a corporate bank account. |
| CUSTOMER_INVALID_AGE | Underaged. |
| CUSTOMER_INVALID_AGE_NULL | Payer age not available. |
| CUSTOMER_INVALID_STATUS | CPF is not valid/ active (deceased customer). |
| CUSTOMER_IS_PEP | Politically exposed person. |
| CUSTOMER_IS_PEP_RELATED | Family member of a politically exposed person. |
| CUSTOMER_IS_IN_INTERNATIONAL_LISTS | Customer is in the lavajato/laft list. |
| CUSTOMER_SUSPENDED_STATUS | CPF suspend by government triggered/criminal illegal activities. |
| CUSTOMER_POSSIBLE_INVALID_STATUS | In process of losing CPF. |
| CUSTOMER_NOT_FOUND | No CPF data available. |
Payouts with Payretailers
Payretailers allows payouts (fund transfers) in the following countries:
| Country | Currency |
|---|---|
| Brasil | BRL |
| México | MXN |
| Chile | CLP |
| Colombia | COP |
| Perú | PEN |
| Ecuador | USD |
There are two payout methods:
| Method | Description | Supported Countries |
|---|---|---|
| Transfer | Traditional bank transfer | All of the above |
| PIX | Instant transfer using PIX key | Brazil only |
Required fields in extra_data
profile (always required):
first_namelast_nameemaildocument_identification_numberdocument_identification_type(optional; only for COL, ECU, and PER. Valid values:NATIONAL_IDENTITY_DOCUMENT,FOREIGN_IDENTIFICATION_DOCUMENT,FISCAL_IDENTIFICATION_CODE,VALID_PASSPORT)phone.number(required only ifcountryis BRA, PER, or ECU)
billing_address:
address1country
payment (depending on payout type):
If payout type is Transfer:
bank_name(except Argentina) – This field must contain the bank code of the recipient. See Bank Codes by Country for valid values.accountSee specificationsaccount_type(except Argentina and Mexico)account_agency_number(Brazil only, required) – Numeric code of the bank agency, provided by the bank. Use only the digits before the dash (e.g.:"1234-5"→ send"1234").aba_swift(optional, Brazil only)payout_beneficiary_type_code(optional, Chile only. Values:PERSON(default),COMPANY)
If payout type is PIX (Brazil only):
recipient_pix_key(optional. If not specified, CPF is used as PIX key)
document_identification_type values by country
This field is included inside profile, is optional, and can only be used for Colombia, Ecuador, and Peru.
If not provided, NATIONAL_IDENTITY_DOCUMENT will be used by default. For other countries, do not include this field.
| Country | document_identification_type Value | Equivalent Document Type |
|---|---|---|
| ARG | DNI | |
| BR | CPF | |
| CL | RUT | |
| MX | CURP | |
| COL | NATIONAL_IDENTITY_DOCUMENT | Cédula de ciudadanía |
| COL | FOREIGN_IDENTIFICATION_DOCUMENT | Foreigner ID |
| ECU | NATIONAL_IDENTITY_DOCUMENT | DNI |
| ECU | FISCAL_IDENTIFICATION_CODE | RUC |
| ECU | VALID_PASSPORT | Passport |
| PER | NATIONAL_IDENTITY_DOCUMENT | DNI |
| PER | FOREIGN_IDENTIFICATION_DOCUMENT | Foreigner card |
| PER | FISCAL_IDENTIFICATION_CODE | RUC |
| PER | VALID_PASSPORT | Passport |
account_type values by country (Transfer)
| account_type | BR | CO | CL | PE | EC | MX |
|---|---|---|---|---|---|---|
| CHECKING | ✓ | ✓ | ✓ | ✓ | ✓ | |
| SAVINGS | ✓ | ✓ | ✓ | ✓ | ✓ | |
| RUT | ✓ | |||||
| ACCOUNT_CLABE | ✓ | |||||
| CARD_NUMBER | ✓ |
Argentina and Mexico do not require
account_type; a default internal value is used:
- Argentina: CBU or CVU
- Mexico: General type (ACCOUNT_CLABE)
Specifications for account by country (Transfer)
Expected length / format
Data validation:
^[0-9]+$(only digits allowed inaccount)
| Country | Expected length | Additional comments |
|---|---|---|
| AR (Argentina) | 22 | CBU or CVU |
| BR (Brazil) | 13 | — |
| CL (Chile) | 16 | — |
| CO (Colombia) | 16 | — |
| MX (Mexico) | 16, 18 | General (ACCOUNT_CLABE): 18 digits Debit card number (CARD_NUMBER): 16 digits |
| EC (Ecuador) | 12 | — |
| PE (Peru) | 10, 13, 14, 18, 20 | Depends on the bank. See details |
Details for Peru (account)
| Bank / Institution | Expected length | Comments / Examples |
|---|---|---|
| Banco de Crédito (BCP) | 13 / 14 | 13 = checking/master. 14 = savings |
| Interbank | 13 | — |
| Banco Continental (BBVA) | 18 / 20 | Ex.: 18: 001106660100012345 20: 00110666010001234512 |
| Scotiabank | 10 | 3 digits branch + 7 digits account. Ex.: 0037651234 |
| Other banks / FIs | 20 | Mandatory CCI. Ex.: 00219400254640654321 |
PIX key format (recipient_pix_key)
| Key Type | Regex Format | Example |
|---|---|---|
| CPF | ^[0-9]{11}$ | 12345678901 |
| Phone | ^+[1-9][0-9]\d{1,14}$ | +5510998765432 |
^[a-z0-9.!#$&'*+/=?^_{}~-]+@[a-z0-9.-]+$ | pix@bcb.gov.br | |
| Random | [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} | 123e4567-e89b-12d3-a456-426655440000 |
Note: If
recipient_pix_keyis not explicitly provided inextra_data.payment, the value ofdocument_identification_numberwill automatically be used as PIX key, as long as it's a valid CPF. This simplifies integration in most cases.
Examples of extra_data for payouts of type Transfer
Ecuador
"extra_data": {
"profile": {
"first_name": "John",
"last_name": "Doe",
"email": "jon.doe@test.com",
"document_identification_number": "00113562600",
"document_identification_type": "NATIONAL_IDENTITY_DOCUMENT",
"phone": {
"number": "572222222222"
}
},
"billing_address": {
"city": "Quito",
"country": "ECU",
"address1": "Portete E19-151",
"address2": null,
"address3": null,
"zip_code": "",
"state_code": ""
},
"payment": {
"bank_name": "0001",
"account": "123123123124",
"account_type": "CHECKING"
}
}
Brazil
"extra_data": {
"profile": {
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@test.com",
"document_identification_number": "00113562600",
"phone": {
"number": "5511999999999"
}
},
"billing_address": {
"city": "Sao Paulo",
"country": "BRA",
"address1": "R. Sao Joaquim, 596",
"address2": null,
"address3": null,
"zip_code": "",
"state_code": ""
},
"payment": {
"bank_name": "341",
"account": "0001",
"account_type": "CHECKING",
"account_agency_number": "8585",
"aba_swift": "ERDSAD"
}
}
Sandbox Testing
In the sandbox environment, you can simulate different payout results using the amount value when generating the payment order:
- Any value other than
666simulates a successful payout. - The value
666simulates a rejected payout.
Limits for payouts
The following table reflects the transaction limits based on business type, user and country:
| Country | Limit per day | Limit per week | Limit per month | Limit per year | Limit per transaction |
|---|---|---|---|---|---|
| Brazil | 10.000 USD | 70.000 BRL | 150.000,00 BRL | No limit | No limit |
| México | 5.000 USD | No limit | 20.000 USD | No limit | No limit |
| Chile | 5.000 USD | No limit | 20.000 USD | No limit | No limit |
| Colombia | 5.000 USD | No limit | 20.000 USD | No limit | 10.000.000 COP |
| Perú | 3.500 USD | No limit | 7.000 USD | 84.000 USD | No hay |
| Ecuador | 3.500 USD | No limit | 7.000 USD | 84.000 USD | No limit |
Bank Codes by Country
You can find the valid values for the payment.bank_name field for each country in the following section. This field must contain a numeric code.
Brazil
You can view the full list of banks at conta-corrente.com
| Code | Bank |
|---|---|
| 001 | Banco do Brasil S.A. |
| 341 | Banco Itaú S.A. |
| 033 | Banco Santander (Brasil) S.A. |
| 237 | Banco Bradesco S.A. / Next |
| 104 | Caixa Econômica Federal |
| 422 | Banco Safra S.A. |
| 748 | Banco Cooperativo Sicredi S.A. |
| 041 | Banco do Estado do Rio Grande do Sul S.A. |
| 208 | BANCO BTG PACTUAL S.A. |
| 655 | Neon Pagamentos |
| 077 | Banco Inter S.A. |
| 121 | Banco Agibank S.A. |
| 212 | Banco Original S.A |
| 260 | Nubank |
| 336 | Banco C6 S.A. |
| 413 | Banco BV (Before Banco Votorantim) |
Chile
| Code | Bank |
|---|---|
| 012 | Banco Del Estado De Chile |
| 001 | Banco De Chile / Banco A. Edwards / Credichile |
| 028 | Banco Bice |
| 051 | Banco Falabella |
| 053 | Banco Ripley |
| 037 | Banco Santander – Santiago |
| 049 | Banco Security |
| 014 | Scotiabank / Sud – Americano |
| 016 | BCI / Tbanc |
Mexico
| Code | Bank |
|---|---|
| 40012 | BBVA Bancomer |
| 40021 | HSBC |
| 40014 | Santander |
| 40072 | Banorte |
| 40127 | Banco Azteca |
| 40137 | Bancoppel |
| 40131 | Banco Famsa |
| 40138 | ABC Capital |
| 40150 | Banco Inmobiliario |
To view the full list of banks in Mexico, see: Banks in Mexico - PayRetailers
Colombia
| Code | Bank |
|---|---|
| 0001 | Banco de Bogotá |
| 0007 | Bancolombia |
| 0013 | BBVA Colombia |
| 0014 | Itaú |
| 0019 | Banco Colpatria |
| 0023 | Banco de Occidente |
| 0051 | Banco Davivienda S.A. |
| 0052 | Banco AV Villas |
| 0062 | Banco Falabella S.A. |
| 0070 | Lulo Bank |
| 0507 | Nequi |
| 0801 | MOVii |
Ecuador
| Code | Bank |
|---|---|
| 0001 | Banco Amazonas |
| 0002 | Banco Bolivariano |
| 0004 | Banco Central del Ecuador |
| 0010 | Banco de Guayaquil |
| 0011 | Banco de la Producción |
| 0016 | Banco del Pacífico |
| 0023 | Banco Pichincha |
| 0025 | Banco Promerica |
| 0026 | Banco Solidario |
Perú
| Code | Bank |
|---|---|
| 0001 | Interbank |
| 0002 | BBVA Perú |
| 0003 | BCP Perú |
| 0004 | Scotiabank Perú |
| 0006 | Banco Pichincha |
| 0007 | Mibanco |
| 0008 | Banco de la Nación |
| 0010 | Banco Santander |
| 0012 | Banco Falabella |
| 0013 | Banco Ripley |
| 0014 | Banco GNB |
| 0015 | Banco Azteca |
| 0016 | Banco Cencosud |
| 0019 | Caja Arequipa |
| 0025 | Caja Piura |
| 0027 | Caja Tacna |