Skip to main content

Bank Transfer

  POST https://api-sandbox.letpay.io/bankTransfer/simple

Overview

This process is designed to facilitate bank transfers in Peru, optimizing user experience and conversion rates. It allows your customers to make payments quickly and securely, integrating efficiently with local requirements.

The process offers:

  • Immediate display of payment information to the payer, without the need for complex preliminary data collection, which contributes to a higher conversion rate. To use this process, simply send the required fields as indicated in the documentation.
  • Utilization of the payer's DNI (Documento Nacional de Identidad) or RUC (Registro Único de Contribuyentes) linked to the transaction. It's recommended that merchants have already collected this data beforehand. However, there's an option to collect it on the checkout page – although this approach might result in a slightly lower conversion rate, it can be advantageous in specific scenarios depending on your business needs. To use this process, send the payer's DNI or RUC in the tax_id field, and specify DNI or RUC in the tax_id_type field accordingly. You should also include the payer's email. If the tax_id is invalid, the transaction may be declined.

Minimum and Maximum Amounts

Financial institutionMinimum AmountMaximum Amount
BBVA1 PENNo maximum
BCP1 PENNo maximum
Interbank1 PEN30000 PEN
Yape1 PENDaily: 2000 PEN
Yape1 PENMonthly: 6000 PEN
BanBif1 PEN19000 PEN
Banco Pichincha1 PEN19000 PEN
Caja Arequipa2 PEN43000 PEN
Caja Huancayo2 PEN43000 PEN
Caja Tacna2 PEN43000 PEN
Caja Trujillo2 PEN43000 PEN
Scotiabank2 PEN4000 PEN

Reference Checkout UI Bank Transfer

Reference UI - Bank Transfer - Part 1Reference UI - Bank Transfer - Part 1

Select Banking Institution

Reference UI - Bank Transfer - Part 2Reference UI - Bank Transfer - Part 2

Redirect URL to the Bank Page

Reference UI - Bank Transfer - Part 3Reference UI - Bank Transfer - Part 3

Bank Transfer Flow

Authorization

HeaderValue
X-Auth-TokenMY_ACCESS_TOKEN

Request description

  • contract_id (required/string): Merchant's contract id.
  • notification_url (required/string): URL to post callbacks to this payment.
  • reference_id (required/string/max 45 chars): External code created by the merchant to reference this payment (e.g. order number).
  • ip_address (optional/string): Remote IP Address(IPv4/IPv6).
  • return_url (optional/string): Return URL to redirect user.
  • extra_data(optional/object): If you want to send extra data in your request.
  • payment (required/object): The payment data:
    • amount (required/float): Total amount of the payment. Value must have a maximum of two decimal places.
    • asset (required/string): Reference code for asset for the sale's amount.
    • country (required/string): Country code in ISO 3166-2.
    • currency (required/string): Currency code in ISO-4217.
    • bank_transfer: (optional/object): The bank transfer description:
      • description (optional/string): Descriptor to use at transaction.
  • person (required/object): The person data:
    • email (required/string): Person’s email provided to the merchant.
    • full_name (optional/string): Person’s full name.
    • tax_id (required/string): Unique identifier for this person in country tax system.
    • tax_id_type (required/enum): Type of identifier for this person in country tax system (e.g. in Peru: RUC). Valid options: RUC, DNI, PAS, CE.

Response Description

  • transaction_status (string): Current status of the payment.
  • payment_token (string): Unique payment identification for this payment.
  • refresh_token (string): Updated access token for future calls.
  • reference_id (string): External code created by the merchant to reference this payment (e.g. order number).
  • amount (string): Amount of this payment.
  • redirect_url (string): The redirect url.
  • totals (object): The payment totals.
    • amount (float): Amount in default region asset.
    • asset (string): Asset used in this amount.
    • original_amount (float): Amount as informed by merchant.
    • original_asset (string): Asset used in this originalAmount.
    • customer_fees (float): Total calculated fee assigned to customer.
    • customer_amount (float): Total amount for customer (amount + customer_fees).
  • customer_fees (object): List of incident customer fees and respective values.

Example Request

Example Request

200 - Success
    curl --location 'https://api-sandbox.letpay.io/bankTransfer/simple' \
--header 'X-Auth-Token: MY_ACCESS_TOKEN' \
--data-raw '{
"contract_id": "MY_CONTRACT_ID",
"notification_url": "https://my.notification.url/callback/",
"reference_id": "MY_REFERENCE_ID",
"ip_address": "1.1.1.1",
"return_url": "https://my.site.com",
"extra_data": {},
"payment": {
"amount": 1000.00,
"asset": "PEN",
"country": "PE",
"currency": "PEN",
"bank_transfer": {
"description": "teste"
}
},
"person": {
"email": "[email protected]",
"full_name": "Alice Sonnentag",
"tax_id": "103008875",
"tax_id_type": "RUC"
}
}'

Example Response

Header
  Content-Type: application/json
Body
    {
"transaction_status": "PROCESSING",
"payment_token": "MY_PAYMENT_TOKEN",
"reference_id": "MY_REFERENCE_ID",
"redirect_url": "BANK_TRANSFER_URL",
"amount": "1000.00",
"totals": {
"amount": 1000,
"original_amount": 1000,
"original_asset": "PEN",
"customer_fees": 0,
"customer_amount": 1000,
"asset": "PEN"
},
"customer_fees": {},
"refresh_token": ""
}