Peru

Learn everything you need to know to make payouts in Peru with dLocal.

Market specifications

Take a look of all the information you need to make a payout.

Country reference Document validations Mandatory paramenters

Payment methods

Find all the information about payment methods capabilities.

Bank transfers

Bank information

Find all the bank account validations details you need to make a payout.

Bank account validations Bank codes

Market specifications

Do you want to know more information about Peru's market? Go to the Peru’s economy and eCommerce market article.

Country reference

country codecurrency codeamount decimalsdocument.type namedocument.id format
PEPEN2DNI or RUCBetween 8 to 9 digits for DNI and 11 digits for RUC.

Document validations

ValidationNameLengthVerification digit
beneficiary.document.idDNI8 numeric characters or 9 alphanumeric characters.Last digit
beneficiary.document.idRUC11 numericLast digit
beneficiary.document.idCEBetween 4 and 12 alphanumeric characters.-
beneficiary.document.idPASSBetween 4 and 12 alphanumeric characters.-
remitter.document.idIDBetween 4 and 45 alphanumeric characters.-
remitter.document.idPASSBetween 4 and 45 alphanumeric characters.-

Mandatory parameters

Bank transfers

Bank transfer parametersB2CB2BUSD accountsP2P
external_idYesYesYesYes
payment_method_idYesYesYesYes
flow_typeYesYesYesYes
purposeYesYesYesYes
countryYesYesYesYes
amountYesYesYesYes
currencyYesYesYesYes
currency_to_pay--Yes-
beneficiary.first_nameYesYesYesYes
beneficiary.last_nameYesYesYesYes
beneficiary.document.idYesYesYesYes
beneficiary.document.typeYesYesYesYes
beneficiary.address.streetYesYesYesYes
beneficiary.bank_account.accountYesYesYesYes
beneficiary.bank_account.typeYesYesYesYes
beneficiary.bank_account.codeYesYesYesYes
remitter.first_name---Yes
remitter.last_name---Yes
remitter.document.id---Yes
remitter.document.type---Yes
remitter.nationality---Yes
remitter.address.street---Yes
remitter.address.postal_code---Yes

Payment methods

Peru supports payouts via Bank transfers. This method requires specific parameters and follows validation rules aligned with local compliance and banking standards.

Bank transfers

Bank transfers in Peru require detailed account information, including document ID, document type, bank account (CCI), account type, and currency. The format of these fields depends on the receiving bank, and strict validation rules apply.

Refer to the document validations, bank account validations and bank codes sections for format specifications.

Mandatory parameters

All fields listed below are required for bank transfer payouts. For successful processing, ensure correct formatting and value types.

Mandatory parameterDescription
external_idPayout identification at the merchant's end. Maximum 100 characters.
payment_method_idPayment method. For bank transfers, use BANK_TRANSFER.
flow_typePayout flow type. Valid values: B2C (Business to Consumer), B2B (Business to Business), or P2P (Person to Person).
purposePayout purpose code. See purpose codes reference.
countryCountry code. For Peru, use PE.
amountPayout amount (in the currency set in the currency field). Use up to 2 decimal numbers.
currencyPayout currency. For Peru, use PEN or USD.
currency_to_payCurrency to be paid out. USD. Mandatory only if the payout needs to be paid in USD. If this parameter is missing, the payout will be paid in the local currency.
beneficiary.first_nameBeneficiary's first name. Maximum 50 characters.
beneficiary.last_nameBeneficiary's last name. Only applies when the beneficiary is an individual. Maximum 50 characters.
beneficiary.document.idBeneficiary's document ID or number. See document validations.
beneficiary.document.typeBeneficiary's document type. Document type: DNI, RUC, CE (Carnet Extranjeria), PASS (Passport). See document validations.
beneficiary.address.streetRemitter's address street. Maximum 200 characters. Mandatory only for remittance (P2P).
beneficiary.address.cityRemitter's address city. Maximum 40 characters. Mandatory only for remittance (P2P).
beneficiary.address.postal_codeRemitter's address postal code. Maximum 20 characters. Mandatory only for remittance (P2P).
beneficiary.bank_account.accountBeneficiary's bank account.. See bank account validations below.
beneficiary.bank_account.typeBeneficiary's bank account type. Account type: CHECKING for Checking accounts, SAVINGS for Savings accounts, MAESTRA for Maestra accounts.
beneficiary.bank_account.codeBeneficiary's bank account code. See bank codes below.
remitter.first_nameRemitter's first name. Maximum 50 characters. Mandatory only for remittance (P2P).
remitter.last_nameRemitter's last name. Maximum 50 characters. Mandatory only for remittance (P2P).
remitter.document.idRemitter's document. Maximum 45 characters. Mandatory only for remittance (P2P).
remitter.document.typeRemitter's document type: ID for national identification number, PASS for passport. Mandatory only for remittance (P2P).
remitter.nationalityRemitter's nationality. ISO 3166-1 alpha-2 code. Mandatory only for remittance (P2P).
remitter.address.streetRemitter's address street. Maximum 200 characters. Mandatory only for remittance (P2P).
remitter.address.postal_codeRemitter's address postal code. Maximum 20 characters. Mandatory only for remittance (P2P).

Example request

{
  "external_id": "1234567812345678b",
  "payment_method_id": "BANK_TRANSFER",
  "flow_type": "B2C",
  "purpose": "OTHER_SERVICES",
  "country": "PE",
  "amount": "245.40",
  "currency": "PEN",
  "notification_url": "https://thisisawebsite.net/payments",
  "beneficiary": {
    "first_name": "JUANA",
    "last_name": "PEREZ",
    "document": {
      "type": "DNI",
      "id": "12345678"
    },
    "address": {
      "street": "Av. La Molina 123",
      "city": "Lima",
      "postal_code": "15023"
    },
    "bank_account": {
      "code": "002",
      "account": "00219300247595201411",
      "type": "SAVINGS"
    }
  }
}
{
  "external_id": "p2p-transfer-12345678",
  "payment_method_id": "BANK_TRANSFER",
  "flow_type": "P2P",
  "purpose": "REMITTANCES",
  "country": "PE",
  "amount": "500.00",
  "currency": "PEN",
  "notification_url": "https://thisisawebsite.net/payments",
  "beneficiary": {
    "first_name": "JUANA",
    "last_name": "PEREZ",
    "document": {
      "type": "DNI",
      "id": "12345678"
    },
    "address": {
      "street": "Av. La Molina 123",
      "city": "Lima",
      "postal_code": "15023"
    },
    "bank_account": {
      "code": "002",
      "account": "00219300247595201411",
      "type": "SAVINGS"
    }
  },
  "remitter": {
    "first_name": "JOHN",
    "last_name": "DOE",
    "document": {
      "type": "PASS",
      "id": "AB123456"
    },
    "nationality": "US",
    "birth_info": {
      "date": "1980-01-01"
    },
    "address": {
      "street": "123 Main St",
      "city": "New York",
      "postal_code": "10001"
    }
  }
}

Bank information

Access the reference formats and accepted values required for processing bank payouts in Peru.


Bank account validations


ValidationNameLengthTypeVerification digit
beneficiary.bank_account.accountCCI20NumericFirst 3 digits will be the bank code and the last 2 apply verification algorithm


Bank codes


Check below the different values that beneficiary.bank_account.code parameter can take in Peru.

Bank NameBank CodeSupport PEN currencySupport USD currency
Banco Central de Reserva001
Banco de Comercio023
Banco de Crédito del Perú002
Banco de la Nación018
Banco del Pichincha010
Banco Falabella054
Banco Financiero035
Banco GNB Perú S.A.053
Banco Interamericano de Finanzas (BIF)038
Banco Ripley055
BBVA Continental011
Caja Metropolitana de Lima800
Caja Municipal de Ahorro y Crédito Arequipa803
Caja Municipal de Ahorro y Crédito Cuzco806
Caja Municipal de Ahorro y Crédito Huancayo808
Caja Municipal de Ahorro y Crédito Piura SAC801
Caja Municipal de Ahorro y Crédito Tacna813
Citibank007
Crediscotia Financiera043
Interbank003
Mi Banco049
Santander056
Scotiabank009