Peru
Learn about the dLocal supported payment methods in Peru.
Market specifications
Take a look of all the payment methods available.
Country reference Cards supported APM supportedCards
Find all the information about the card supported capabilities.
Capabilities Process Card PaymentsAlternative Payments
Learn how to integrate cash, bank transfer or wallet payment.
Pago Efectivo BCP Payvalida YapeMarket 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 code | currency code | amount decimals | document name | document format | document required? |
---|---|---|---|---|---|
PE | PEN | 2 | DNI | Between 8 to 9 digits | Yes |
Multi-currency support available
Supports charging in either USD or local currency. To charge in USD, use the
currency_to_change
parameter with the valueUSD
; otherwise, the transaction will be processed in local currency by default. Check availability by payment method.
Cards supported
payment_method_id | Brand ID | Name | payment_method_type | Details | Allowed Flows | Logo |
---|---|---|---|---|---|---|
CARD | VI | Visa | CARD | Credit Card | DIRECT REDIRECT | |
CARD | VD | Visa Debit | CARD | Debit Card | DIRECT REDIRECT | |
CARD | MC | Mastercard | CARD | Credit Card | DIRECT REDIRECT | |
CARD | MD | Mastercard Debit | CARD | Debit Card | DIRECT REDIRECT | |
CARD | AE | American Express | CARD | Credit Card | DIRECT REDIRECT | |
CARD | DC | Diners Club | CARD | Credit Card | DIRECT REDIRECT |
To offer all the card options that may be available in your integration, send the
payment_method_id
asCARD
.
Alternative Payment Method supported
payment_method_id | Name | payment_method_type | Details | Allowed Flows | Logo |
---|---|---|---|---|---|
EF | Pago Efectivo | TICKET | Cash Payments | DIRECT REDIRECT | ![]() |
BC | BCP | BANK_TRANSFER | Bank Transfer | DIRECT REDIRECT | ![]() |
IO | Payvalida | BANK_TRANSFER | Bank Transfer | REDIRECT | ![]() |
YP | Yape | WALLET | eWallet | REDIRECT | ![]() |
YE | Yape Wallet recurring | WALLET | eWallet | REDIRECT | ![]() |
Cards
Capabilities
Visa Credit | Visa Debit | Mastercard Credit | Mastercard Debit | American Express | Diners Club | |
---|---|---|---|---|---|---|
Minimum amount | 5 PEN | 5 PEN | 5 PEN | 5 PEN | 5 PEN | 1 PEN |
Refunds | Yes | Yes | Yes | Yes | Yes | Yes |
Recurring | Yes | Yes | Yes | Yes | Yes | Yes |
Chargeback option | Yes | Yes | Yes | Yes | Yes | Yes |
Chargeback Dispute option | Yes | Yes | Yes | Yes | Yes | Yes |
Descriptor | Can be personalized, depending on the provider. | Can be personalized, depending on the provider. | Can be personalized, depending on the provider. | Can be personalized, depending on the provider. | Can be personalized, depending on the provider. | Can be personalized, depending on the provider. |
How to process Card Payments?
Learn how to process payments with credit and debit cards with dLocal in our Card Payments section.
Alternative Payment Method
Pago Efectivo
Pago Efectivo was created with the aim to be the payment method to buy online and pay without a card. They created the CIP payment code to have the freedom to choose where and how to pay using the code.
Pago Efectivo is now widely used in Peru to pay their utility bills and purchases online, giving the user the ability to pay in cash, through bank transfers or with eWallets.
Capabilities
Pago Efectivo | |
---|---|
Min. amount | 5 PEN |
Max. expiration time supported | 5 days |
Notification delay | Immediate |
Refunds | Yes |
Flow | DIRECT REDIRECT |
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | Amount to be charged. | Yes |
currency | String | PEN Transaction currency in ISO 4217. | Yes |
country | String | PE Transaction country in ISO 3166. | Yes |
payment_method_id | String | EF ID of the selected payment method. | Yes |
payment_method_flow | String | DIRECT or REDIRECT | Yes |
payer.name | String | Name of the payer. | Yes |
payer.email | String | Email of the payer. | Yes |
payer.document | Number | Document of the payer. | Yes |
order_id | Number | ID of the capture given by the merchant in their system. Think of it as an external ID of the capture. | No |
notification_url | String | Notifications will be sent in every change of status of a payment to the notification_url specified by the merchant. | No |
Examples
{
"amount": 1000,
"currency": "PEN",
"country": "PE",
"payment_method_id": "EF",
"payment_method_flow": "DIRECT",
"payer": {
"name": "Jane Doe",
"email": "[email protected]",
"address": {
"country": "PE",
"state": "Lima",
"city": "Lima",
"zip_code": "88058",
"street": "Av. Principal",
"number": "5940"
}
},
"order_id": "34545sk3483kqw0",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
"callback_url": "http://merchantsite.com/success_page"
}
{
"id": "D-4-8f95110c-4fac-43q1-b0b1-8078165a385f",
"amount": 1000,
"currency": "PEN",
"payment_method_id": "EF",
"payment_method_type": "TICKET",
"payment_method_flow": "DIRECT",
"country": "PE",
"bank_transfer": {},
"ticket": {
"type": "CUSTOM",
"number": "165816703",
"expiration_date": "2023-06-17T11:59:00.000+0000",
"id": "EF-144059474",
"barcode": "",
"company_name": "DEMERGE PERU SAC",
"image_url": "https://pay.dlocal.com/gmf-apm/payments/M-76d9d7bb-d3f8-40fb-befc-1cf5609de3fd",
"amount": 1000,
"currency": "PEN"
},
"created_date": "2023-06-14T15:38:09.000+0000",
"status": "PENDING",
"status_detail": "The payment is pending.",
"status_code": "100",
"order_id": "34545sk3483kqw0",
"notification_url": "http://merchantsite.com/notification/new"
}
Example ticket

Page Efectivo UI built with the information in the example above.
User Interface Tips UI
Provider's voucher
We strongly recommend using the ticket on the ticket.image_url. Peruvian users are very familiar with this ticket (example above) made by the provider itself, for every kind of purchase paid through Pago Efectivo. It includes:
- Many payment options instructions.
- Capability of sending the payment code through SMS.
- Provider’s store locator.
If you still need to design your own ticket and you are using this payment method through a DIRECT integration, follow the tips below in order to make it easier for your customers to complete payments, boosting your conversion rates.
Element | Tip |
---|---|
Ticket Number | Name it as "Código de Pago (CIP)". |
Provider's Name | Show the ticket.provider_name, as it is useful at the moment of paying through home banking. |
Currency and Amount | Should be relevant elements in the ticket. Users need to have that information very clearly. |
Currency Symbol | S/ |
Expiration date | Display this element clearly and visible enough. In Perú, the date format is DD/MM/YYYY. |
Payment instructions | Although most users are familiarized with Pago Efectivo, it is a good practice to help those who are not. In the image above there is an example of instructions, but if needed, our team will be happy to help you with more personalized instructions. |
Save button | It helps users to have their tickets always on their phones, making it needless to take notes or keep the browser open. |
Print button | It is useful for some users who need to have their tickets printed. |
BCP
BCP is the main bank in Peru with almost half of the market share. With this integration we allow users to make transfers with instant release.
Capabilities
BCP | |
---|---|
Min. amount | 5 PEN |
Max. expiration time supported | 5 days |
Notification delay | Immediate |
Refunds | Yes |
Flow | DIRECT REDIRECT |
Support USD currency | ✅ |
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | Amount to be charged. | Yes |
currency | String | PEN Transaction currency in ISO 4217. | Yes |
country | String | PE Transaction country in ISO 3166. | Yes |
payment_method_id | String | BC ID of the selected payment method. | Yes |
payment_method_flow | String | DIRECT or REDIRECT | Yes |
payer.name | String | Name of the payer. | Yes |
payer.email | String | Email of the payer. | Yes |
payer.document | Number | Document of the payer. | Yes |
order_id | Number | ID of the capture given by the merchant in their system. Think of it as an external ID of the capture. | No |
notification_url | String | Notifications will be sent in every change of status of a payment to the notification_url specified by the merchant. | No |
Examples
{
"amount": 1000,
"currency": "PEN",
"country": "PE",
"payment_method_id": "BC",
"payment_method_flow": "DIRECT",
"payer": {
"name": "Jane Doe",
"email": "[email protected]",
"address": {
"country": "PE",
"state": "Lima",
"city": "Lima",
"zip_code": "88058",
"street": "Av. Principal",
"number": "5940"
}
},
"order_id": "34545sk3483kqw0",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
"callback_url": "http://merchantsite.com/success_page"
}
{
"id": "D-4-192c9fe0-df89-4652-9074-26c4ce246c9f",
"amount": 1000,
"currency": "PEN",
"payment_method_id": "BC",
"payment_method_type": "BANK_TRANSFER",
"payment_method_flow": "DIRECT",
"country": "PE",
"bank_transfer": {},
"ticket": {
"type": "CUSTOM",
"number": "234592",
"expiration_date": "2023-06-17T04:59:00.000+0000",
"provider_logo": "https://static.dlocal.com/images/providers/bcp.png",
"image_url": "https://pay.dlocal.com/gmf-apm/payments/M-3d6a968f-4432-4a64-8c44-c1947de21ec6",
"amount": 1000,
"currency": "PEN"
},
"created_date": "2023-06-12T15:39:23.000+0000",
"status": "PENDING",
"status_detail": "The payment is pending.",
"status_code": "100",
"order_id": "34545sk3483kqw0",
"notification_url": "http://merchantsite.com/notification/new"
}
Example ticket

BCP UI built with the information in the example above.
Payvalida
Payvalida is a platform specializing in collections and online payments. It has a wide collection agent network throughout the country.
Capabilities
Payvalida | |
---|---|
Min. amount | 5 PEN |
Max. expiration time supported | 5 days |
Notification delay | Immediate |
Refunds | Yes |
Flow | REDIRECT |
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | Amount to be charged. | Yes |
currency | String | PEN Transaction currency in ISO 4217. | Yes |
country | String | PE Transaction country in ISO 3166. | Yes |
payment_method_id | String | IO ID of the selected payment method. | Yes |
payment_method_flow | String | REDIRECT | Yes |
payer.name | String | Name of the payer. | Yes |
payer.email | String | Email of the payer. | Yes |
payer.document | Number | Document of the payer. | Yes |
order_id | Number | ID of the capture given by the merchant in their system. Think of it as an external ID of the capture. | No |
notification_url | String | Notifications will be sent in every change of status of a payment to the notification_url specified by the merchant. | No |
Examples
{
"amount": 1000,
"currency": "PEN",
"country": "PE",
"payment_method_id": "IO",
"payment_method_flow": "REDIRECT",
"payer": {
"name": "Jane Doe",
"email": "[email protected]",
"address": {
"country": "PE",
"state": "Lima",
"city": "Lima",
"zip_code": "88058",
"street": "Av. Principal",
"number": "5940"
}
},
"order_id": "34545sk3483kqw0",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
"callback_url": "http://merchantsite.com/success_page"
}
{
"id": "R-4-50733a71-49fe-494a-556t-60f702e1369b",
"amount": 1000,
"currency": "PEN",
"payment_method_id": "IO",
"payment_method_type": "BANK_TRANSFER",
"payment_method_flow": "REDIRECT",
"country": "PE",
"created_date": "2023-07-10T19:33:11.000+0000",
"status": "PENDING",
"status_detail": "The payment is pending.",
"status_code": "100",
"order_id": "34545sk3483kqw0",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
"redirect_url": "https://pay.dlocal.com/gmf-apm/payments-redirect/M-8a290793-0afb-4946-er32-74f65baab83d"
}
Example ticket

Payvalida UI built with the information in the example above.
Yape
Yape is a mobile application that transfers money using a mobile phone number. dLocal supports one-time payments or recurring on-demand payments.
Option 1: Tokenized on-demand payments
Yape allows users to enroll their wallet as a payment method and make on-demand payments.
Capabilities
Yape on-demand | |
---|---|
Min. amount | 1 PEN |
Max. amount | 2000 PEN per transaction / 2000 PEN per day |
Max. expiration time supported | No expiration for suscription |
Notification delay | Immediate |
Refunds | Yes |
Flow | REDIRECT |
How to process Yape tokenized payments?
Learn how to process with wallets (one-shot payments and wallet tokenization) with dLocal in our Wallets Payment section.
User enrollment request
{
"amount": 0,
"currency": "PEN",
"country": "PE",
"payment_method_id": "YE",
"payment_method_flow": "REDIRECT",
"payer": {
"name": "Jane Doe",
"email": "[email protected]",
"address": {
"country": "PE",
"state": "Lima",
"city": "Lima",
"zip_code": "88058",
"street": "Av. Principal",
"number": "5940"
},
"document": "434518267"
},
"wallet": {
"name": "Castillo Gomes Vanessa Silvia",
"save": true,
"capture": false,
"verify": true,
"username": "CGVS",
"email": "[email protected]",
"expiration": 60,
"label": "label",
"state": "state"
},
"order_id": "f3e0621c-be65-4ed5-8f24-137fdcdbefde",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
"callback_url": "http://merchantsite.com/"
}
{
"id": "F-4-03c82e23-e068-41ec-865c-263de845c1ff",
"amount": 0,
"currency": "PEN",
"payment_method_id": "YE",
"payment_method_type": "WALLET",
"payment_method_flow": "REDIRECT",
"country": "PE",
"created_date": "2025-04-03T20:16:52.000+0000",
"status": "PENDING",
"status_detail": "The payment is pending.",
"status_code": "100",
"order_id": "f3e0621c-be65-4ed5-8f24-137fdcdbefde",
"description": "Test Yape Wallet",
"notification_url": "http://merchantsite.com/notification/new",
"callback_url": "http://merchantsite.com/"
}
User payment request
{
"amount": 5,
"currency": "PEN",
"country": "PE",
"payment_method_id": "YE",
"payment_method_flow": "REDIRECT",
"payer": {
"name": "Castillo Gomes Vanessa Silvia",
"email": "[email protected]",
"phone": "+51111111",
"address": {
"country": "PE",
"state": "Lima",
"city": "Lima",
"zip_code": "15083",
"street": "Av. Mariano H. Cornejo",
"number": "2000"
},
"document": "434518267"
},
"wallet": {
"name": "Castillo Gomes Vanessa Silvia",
"save": true,
"capture": true,
"verify": false,
"username": "CGVS",
"email": "[email protected]",
"expiration": 60,
"label": "label",
"state": "state",
"token": "5710f0f8-5392-477e-91a3-b105f0a1aeb0"
},
"order_id": "f3e0621c-be65-4ed5-8f24-137fdcdbefde",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
"callback_url": "http://merchantsite.com/success_page"
}
{
"id": "F-4-dec0ec7a-a060-4b4f-966f-2b18ebec1b2b",
"amount": 5,
"currency": "PEN",
"payment_method_id": "YE",
"payment_method_type": "WALLET",
"payment_method_flow": "REDIRECT",
"country": "PE",
"created_date": "2025-04-03T20:42:40.000+0000",
"status": "PENDING",
"status_detail": "The payment is pending.",
"status_code": "100",
"order_id": "963d9129-e0b2-4241-a39d-3f8f2c18a090",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
}
Option 2: One-time payments
Create a payment with Yape.
Capabilities
Yape | |
---|---|
Min. amount | 1 PEN |
Max. expiration time supported | 5 days |
Notification delay | Immediate |
Refunds | Yes |
Flow | REDIRECT |
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | Amount to be charged. | Yes |
currency | String | PEN Transaction currency in ISO 4217. | Yes |
country | String | PE Transaction country in ISO 3166. | Yes |
payment_method_id | String | YP ID of the selected payment method. | Yes |
payment_method_flow | String | REDIRECT | Yes |
payer.name | String | Name of the payer. | Yes |
payer.email | String | Email of the payer. | Yes |
order_id | Number | ID of the capture given by the merchant in their system. Think of it as an external ID of the capture. | No |
notification_url | String | Notifications will be sent in every change of status of a payment to the notification_url specified by the merchant. | No |
Examples
{
"amount": 10,
"currency": "PEN",
"country": "PE",
"payment_method_id": "YP",
"payment_method_flow": "REDIRECT",
"payer": {
"name": "Jane Doe",
"email": "[email protected]",
"address": {
"country": "PE",
"state": "Lima",
"city": "Lima",
"zip_code": "88058",
"street": "Av. Principal",
"number": "5940"
}
},
"order_id": "34545sk3483kqw0",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
"callback_url": "http://merchantsite.com/success_page"
}
{
"id": "R-4-ed6de9d9-ee61-4cc0-6t54-86c2e0dfab99",
"amount": 10,
"currency": "PEN",
"payment_method_id": "YP",
"payment_method_type": "TICKET",
"payment_method_flow": "REDIRECT",
"country": "PE",
"created_date": "2023-10-24T13:29:55.000+0000",
"status": "PENDING",
"status_detail": "The payment is pending.",
"status_code": "100",
"order_id": "34545sk3483kqw0",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
"redirect_url": "https://pay.dlocal.com/gmf-apm/payments-continue/M-eecd4467-7uy6-4e7c-a907-25f7f94582c0"
}
Updated 4 days ago