Brazil
Learn about the dLocal supported payment methods in Brazil.
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.
Boleto Pix Mercado Pago PicPay Pix via Open Finance (PISP/ITP) NuPayMarket specifications
Do you want to know more information about Brazil's market? Go to the Brazil’s economy and eCommerce market article.
Country reference
country code | currency code | document name | document format | document required? |
---|---|---|---|---|
BR | BRL | CPF or CNPJ | Between 11 to 14 digits Full CPF validation | Yes |
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 | Credit 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 | EL | Elo | CARD | Credit Card | DIRECT REDIRECT | |
CARD | ED | Elo Debit | CARD | Debit Card | DIRECT REDIRECT | |
CARD | MS | Maestro | CARD | Debit Card | DIRECT REDIRECT | |
CARD | HI | Hipercard | CARD | Credit Card | DIRECT REDIRECT | |
CARD | DI | Discover | 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 |
---|---|---|---|---|---|
BL | Boleto | TICKET | Cash Payment | DIRECT REDIRECT | |
PQ | Pix | TICKET | Pix | DIRECT REDIRECT | |
MP | Mercado Pago | BANK_TRANSFER | eWallet | DIRECT REDIRECT | |
PZ | PicPay | TICKET | eWallet | REDIRECT | |
OF | Pix via Open Finance (PISP/ITP) | TICKET | Pix | REDIRECT | |
NU | NuPay | WALLET | eWallet | REDIRECT |
Cards
Capabilities
To view the information for all the cards, position the cursor over the table and use the horizontal scroll to navigate.
Visa Credit | Visa Debit | Mastercard Credit | Mastercard Debit | American Express | Elo | Elo Debit | Maestro | Hipercard | Discover | |
---|---|---|---|---|---|---|---|---|---|---|
Minimum amount | 1 BRL | 1 BRL | 1 BRL | 1 BRL | 1 BRL | 1 BRL | 1 BRL | 1 BRL | 1 BRL | 1 BRL |
Refunds | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Recurring | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Chargeback option | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Chargeback Dispute option | Yes | Yes | Yes | Yes | 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. | 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
Boleto
Pay for online services, either over the counter at any supporting outlet in Brazil, or through internet banking.
It’s very popular in the country, where a significant number of consumers don't have a bank account.
The consumer is provided with a payment code (or barcode), which then uses to complete the payment either in cash or through home banking.
Capabilities
Boleto | |
---|---|
Min. amount | 1 BRL |
Max. expiration time supported | Up to 8 days |
Notification delay | Immediate to 1 day, depending on the provider. |
Refunds | Yes |
Flow | DIRECT REDIRECT |
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | Amount to be charged. | Yes |
currency | String | BRL Transaction currency in ISO 4217. | Yes |
country | String | BR Transaction country in ISO 3166. | Yes |
payment_method_id | String | BL 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": 100.39,
"currency": "BRL",
"country": "BR",
"payment_method_id": "BL",
"payment_method_flow": "DIRECT",
"payer": {
"name": "Pedro Gomes",
"email": "[email protected]",
"document": "11934254096"
},
"order_id": "34545sk3483kqw0",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
"callback_url": "http://merchantsite.com/success_page"
}
{
"id": "D-4-1a64bdbd-faf5-473e-94b5-f96d36ef0d3f",
"amount": 100.39,
"currency": "BRL",
"payment_method_id": "BL",
"payment_method_type": "TICKET",
"payment_method_flow": "DIRECT",
"country": "BR",
"ticket": {
"type": "CUSTOM",
"number": "10499136581700010014301792813733191730000010039",
"expiration_date": "2022-11-18T20:25:19.000+0000",
"id": "3087297622",
"barcode": "10496917900000004029136517000100140179718690",
"company_name": "DLOCAL BRASIL LTDA",
"provider_name": "caixa",
"provider_logo": "http://static.dlocal.com/images/providers/caixa.png",
"image_url": "http://pay.dlocal.com/gmf/payments/M-cee70da0-0542-11e9-b88f-39144191f123"
},
"created_date": "2022-11-10T17:06:49.545+0000",
"status": "PENDING",
"order_id": "jhg4v34v534",
"notification_url": "http://merchantsite.com/notification/new"
}
Example ticket
User Interface Tips UI
If 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 | Provide an option to copy the ticket.number. It’s a long number and users who pay through their home banking need to input it on their bank app/website. |
Currency and Amount | Should be relevant elements in the ticket. Users need to have that information very clearly. |
Currency Symbol | R$ |
Expiration date | Display this element clearly and visible enough. In Brazil, the date format is DD/MM/YYYY. |
Barcode | It is useful for users that pay through home banking with a barcode reader, and for the ones that pay at physical stores. Format: Interleaved 2 of 5 (ITF) |
Full Boleto View | Add a link to the full Boleto: ticket.image_url. Although it is not necessary to pay, some users prefer to have it as it gives them a sense of security. Check out a full Boleto example. |
Pix
Pix is a Brazilian payment method, officially launched by the local Central Bank, that enables immediate payment confirmation and 24/7 availability. The user can complete the payment using any Home Banking or Ewallet App, by copying and pasting a Transaction ID or scanning a QR code (see example in the next section).
Capabilities
Pix | |
---|---|
Min. amount | 1 BRL |
Max. expiration time supported | Up to 6 days |
Notification delay | Immediate |
Refunds | Yes |
Flow | DIRECT REDIRECT |
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | Amount to be charged. | Yes |
currency | String | BRL Transaction currency in ISO 4217. | Yes |
country | String | BR Transaction country in ISO 3166. | Yes |
payment_method_id | String | PQ 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": 4,
"currency": "BRL",
"country": "BR",
"payment_method_id": "PQ",
"payment_method_flow": "DIRECT",
"payer": {
"name": "Pedro Gomes",
"email": "[email protected]",
"document": "11934254096"
},
"order_id": "34545sk3483kqw0",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
"callback_url": "http://merchantsite.com/success_page"
}
{
"id": "D-4-7e27ab45-e500-4771-bd91-ba767e31b250",
"amount": 4,
"currency": "BRL",
"payment_method_id": "PQ",
"payment_method_type": "TICKET",
"payment_method_flow": "DIRECT",
"country": "BR",
"bank_transfer": {},
"ticket": {
"type": "CUSTOM",
"number": "00020101021226990014br.gov.bcb.pix2577pix.bpp.com.br/25021356/qrs1/v2/cobv/01aP5TN8sfPrDKBVWqCXuxWYyHrsbTvNyrlISY7R52040000530398654044.005802BR5906DLOCAL6009SAO PAULO62070503***6304FFC6",
"expiration_date": "2022-09-24T15:35:32.486+0000",
"id": "QRS1TXKSHZHFYC4Q3INRRWYISVX6BMSZTK1",
"barcode": "iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAIAAABEtEjdAABeQUlzx/0/rg/z/P8Qe+P+/M8zx/0PxhLim4LHydLAAAAAElFTkSuQmCC",
"company_name": "",
"provider_name": "pix",
"provider_logo": "https://static.dlocal.com/images/providers/pix.jpg",
"image_url": "https://pay.dlocal.com/gmf-apm/payments/M-1c7fafd3-64f0-4314-8d14-eb9ce2f5b4a1",
"amount": 4,
"currency": "BRL"
},
"created_date": "2022-09-20T15:35:31.000+0000",
"status": "PENDING",
"status_detail": "The payment is pending.",
"status_code": "100",
"order_id": "410ca991-dcfa-4306-a861-69807254123d",
"notification_url": "http://merchantsite.com/notification/new"
}
Example ticket
User Interface Tips UI
If 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 |
---|---|
Currency and Amount | Should be relevant elements in the ticket. Users need to have that information very clearly. |
Currency Symbol | R$ |
Expiration date | Display this element clearly and visible enough. In Brazil, the date format is DD/MM/YYYY. |
QR Code | Present users with both payment options: QR code or Copy&Paste ID. A) Your desktop/laptop users will definitely prefer to pay by scanning the QR, since it is easy to scan a QR presented on a laptop, using their phones. B) Your mobile users, on the other hand, should probably prefer the Copy&Paste ID functionality, since the QR code is difficult to read with the very same phone that shows the QR code. |
QR Code format | Base 64 |
Mercado Pago
Mercado Pago is a very popular wallet in several countries in Latin America which allow its users to make one-shot payments; as well as recurring payments just by authorizing the merchant on the enrollment payment.
Capabilities
Mercado Pago | |
---|---|
Min. amount | 1 BRL |
Max. expiration time supported | 5 minutes (authentication) |
Notification delay | Immediate |
Refunds | Yes |
Flow | DIRECT REDIRECT |
UX Flow
One-shot payment
Tokenized wallet
How to process Mercado Pago payments?
Learn how to process with wallets (one-shot payments and wallet tokenization) with dLocal in our Wallets Payment section.
PicPay
With over 60 million users, PicPay has made its way to stand alongside other leading wallets like PayPal and Mercado Pago.
PicPay is a digital wallet app, and the country’s largest payments app, that enables users to send and receive money, pay bills, store loyalty cards and discount coupons, and more.
Capabilities
PicPay | |
---|---|
Min. amount | 1 BRL |
Max. expiration time supported | 1 day |
Notification delay | Immediate |
Refunds | Yes |
Flow | REDIRECT |
UX Flow
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | Amount to be charged. | Yes |
currency | String | BRL Transaction currency in ISO 4217. | Yes |
country | String | BR Transaction country in ISO 3166. | Yes |
payment_method_id | String | PZ 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": 15,
"currency": "BRL",
"country": "BR",
"payment_method_id": "PZ",
"payment_method_flow": "REDIRECT",
"payer": {
"name": "Pedro Gomes",
"email": "[email protected]",
"document": "09996352986"
},
"order_id": "34545sk3483kqw0",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
"callback_url": "http://merchantsite.com/success_page"
}
{
"id": "R-4-90fb1e4f-cda4-io98-81a3-b85cb8ae9954",
"amount": 15,
"currency": "BRL",
"payment_method_id": "PZ",
"payment_method_type": "TICKET",
"payment_method_flow": "REDIRECT",
"country": "BR",
"created_date": "2023-02-16T14:22:50.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-fd77f5b7-ca28-7u54-9ed8-ef89d374a80c"
}
Pix via Open Finance (PISP/ITP)
dLocal will act as the "messenger/orchestrator" of the payment transaction, in the sense that it never holds the funds involved. It merely communicates that the account holder must transfer the funds to the recipient's account as indicated by the messaging provided by the ITP.
It's important to clarify that in a certain payment flow, it won't necessarily be the case that dLocal acts simultaneously as both the account holder and the initiator. For example, if a customer initiates a payment on Mercado Livre, the initiator will be Mercado Pago, which will then send the message to dLocal to transfer the funds.
Capabilities
Pix via Open Finance (PISP/ITP) | |
---|---|
Min. amount | 1 BRL |
Notification delay | Immediate |
Refunds | Yes |
Flow | REDIRECT |
UX Flow
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | Amount to be charged. | No |
currency | String | BRL Transaction currency in ISO 4217. | Yes |
country | String | BR Transaction country in ISO 3166. | Yes |
payment_method_id | String | OF ID of the selected payment method. | Yes |
payment_method_flow | String | REDIRECT | Yes |
payer.name | String | Name of the payer. | No |
payer.email | String | Email of the payer. | No |
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": 1150.90,
"currency": "BRL",
"country": "BR",
"payment_method_id": "OF",
"payment_method_flow": "REDIRECT",
"payer": {
"name": "Jane Doe",
"email": "[email protected]",
"document": "12345678909",
"address": {
"country": "BR",
"state": "Rio de Janeiro",
"city": "Ipanema",
"zip_code": "8858",
"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-3145f30a-19fd-4e88-2112-af16f344fee2",
"amount": 1150.90,
"currency": "BRL",
"payment_method_id": "OF",
"payment_method_type": "TICKET",
"payment_method_flow": "REDIRECT",
"country": "BR",
"created_date": "2023-06-15T21:01:08.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"
}
NuPay
NuPay is a payment solution offered by Nubank, one of the largest digital banks in Latin America.
Allowing customers to make payments using Nubank's digital infrastructure, NuPay can be used for both online transactions and payments in physical establishments, providing a simplified and integrated payment experience with the Nubank account.
Capabilities
NuPay | |
---|---|
Min. amount | 0.01 BRL |
Notification delay | Immediate |
Refunds | Yes |
Flow | REDIRECT |
UX Flow
First-time payment
Tokenized user
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | Amount to be charged. | No |
currency | String | BRL Transaction currency in ISO 4217. | Yes |
country | String | BR Transaction country in ISO 3166. | Yes |
payment_method_id | String | NU ID of the selected payment method. | Yes |
payment_method_flow | String | REDIRECT | Yes |
payer.name | String | Name of the payer. | No |
payer.email | String | Email of the payer. | No |
payer.document | Number | Document of the payer. | Yes |
wallet.name | String | Name of the payer's wallet. | No |
wallet.save | Boolean | Determines whether you want to receive a wallet token for future payments. | No |
wallet.capture | Boolean | Determines if you want to capture the payment funds or not. | No |
wallet.username | String | Username of the payer's wallet account. | No |
wallet.email | String | Email of the payer's wallet account. | No |
wallet.token | String | Token of a previous payment from the same wallet. | For tokenized payments, 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. | Yes |
Examples
{
"amount": 1000,
"currency": "BRL",
"country": "BR",
"payment_method_id": "NU",
"payment_method_flow": "REDIRECT",
"payer": {
"name": "Jane Doe",
"email": "[email protected]",
"document": "11934254096",
"address": {
"country": "BR",
"state": "Rio de Janeiro",
"city": "Ipanema",
"zip_code": "8858",
"street": "Av. Principal",
"number": "5940"
}
},
"wallet": {
"name": "Jane Doe",
"save": true,
"capture": true,
"username": "Jane2002",
"email": "[email protected]",
"label": "label",
"state": "state",
"token": ""
},
"order_id": "34545sk3483kqw0",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
"callback_url": "http://merchantsite.com/success_page"
}
{
"id": "D-4-3145f30a-19fd-4e88-2112-af16f344fee2",
"amount": 1000,
"currency": "BRL",
"payment_method_id": "NU",
"payment_method_type": "WALLET",
"payment_method_flow": "REDIRECT",
"country": "BR",
"created_date": "2023-06-15T21:01:08.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/nupay-payments-continue/M-affdf8e9-0af6-4215-87a0-fcf9c305df"
}
Updated 22 days ago