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 Alternative Payment Method supported

Cards

Find all the information about the card supported capabilities.

Capabilities Process Card Payments

Alternative Payments

Learn how to integrate cash, bank transfer or wallet payment.

Boleto PIX Mercado Pago PicPay Bank Transfer


Market 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 codecurrency codedocument namedocument formatdocument required?
BRBRLCPF or CNPJBetween 11 to 14 digits
Full CPF validation
Yes

Cards supported

payment_method_idBrand IDNamepayment_method_typeDetailsAllowed FlowsLogo
CARDVIVisaCARDCredit Card ​DIRECT REDIRECT
CARDVDVisa DebitCARDCredit Card ​DIRECT REDIRECT
CARDMCMastercardCARDCredit Card ​DIRECT REDIRECT
CARDMDMastercard DebitCARDDebit Card ​DIRECT REDIRECT
CARDAEAmerican ExpressCARDCredit Card ​DIRECT REDIRECT
CARDELEloCARDCredit Card ​DIRECT REDIRECT
CARDEDElo DebitCARDDebit Card ​DIRECT REDIRECT
CARDMSMaestroCARDDebit Card ​DIRECT REDIRECT
CARDHIHipercardCARDCredit Card ​DIRECT REDIRECT
CARDDI DiscoverCARDCredit Card ​DIRECT REDIRECT

ℹ️

To offer all the card options that may be available in your integration, send the payment_method_id as CARD.

Alternative Payment Method supported

payment_method_idNamepayment_method_typeDetailsAllowed FlowsLogo
BLBoletoTICKETCash PaymentDIRECT REDIRECT
PQPIXTICKETPIXDIRECT REDIRECT
MPMercado PagoBANK_TRANSFEReWalletDIRECT REDIRECT
PZPicPayTICKETeWalletREDIRECT
IOBank TransferBANK_TRANSFERBank TransferDIRECT 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 CreditVisa DebitMastercard CreditMastercard DebitAmerican ExpressEloElo DebitMaestroHipercardDiscover
Minimum amount1 BRL1 BRL1 BRL1 BRL1 BRL1 BRL1 BRL1 BRL1 BRL1 BRL
RefundsYesYesYesYesYesYesYesYesYesYes
RecurringYesYesYesYesYesYesYesYesYesYes
Chargeback optionYesYesYesYesYesYesYesYesYesYes
Chargeback Dispute optionYesYesYesYesYesYesYesYesYesYes
DescriptorCan 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. amount1 BRL
Max. expiration time supportedUp to 8 days
Notification delayImmediate to 1 day, depending on the provider.
RefundsYes
FlowDIRECT
REDIRECT

Request parameters

PropertyTypeDescriptionMandatory?
amountNumberAmount to be charged.Yes
currencyStringBRL

Transaction currency in ISO 4217.
Yes
countryStringBR

Transaction country in ISO 3166.
Yes
payment_method_idStringBL

ID of the selected payment method.
Yes
payment_method_flowStringDIRECT or REDIRECTYes
payer.nameStringName of the payer.Yes
payer.emailStringEmail of the payer.Yes
payer.documentNumberDocument of the payer.Yes
order_idNumberID of the capture given by the merchant in their system. Think of it as an external ID of the capture.No
notification_urlStringNotifications 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-39144191f926"
    },
    "created_date": "2022-11-10T17:06:49.545+0000",
    "status": "PENDING",
    "order_id": "jhg4v34v534",
    "notification_url": "http://conductor.sandbox.internal/robot-server/rest/generic/notification/new"
}

Example ticket

Boleto UI built with the information in the example above.

Boleto UI built with the information in the example above.

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.

ElementTip
Ticket NumberProvide 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 AmountShould be relevant elements in the ticket. Users need to have that information very clearly.
Currency SymbolR$
Expiration dateDisplay 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 ViewAdd 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. amount1 BRL
Max. expiration time supportedUp to 6 days
Notification delayImmediate
RefundsYes
FlowDIRECT
REDIRECT

Request parameters

PropertyTypeDescriptionMandatory?
amountNumberAmount to be charged.Yes
currencyStringBRL

Transaction currency in ISO 4217.
Yes
countryStringBR

Transaction country in ISO 3166.
Yes
payment_method_idStringPQ

ID of the selected payment method.
Yes
payment_method_flowStringDIRECT or REDIRECTYes
payer.nameStringName of the payer.Yes
payer.emailStringEmail of the payer.Yes
payer.documentNumberDocument of the payer.Yes
order_idNumberID of the capture given by the merchant in their system. Think of it as an external ID of the capture.No
notification_urlStringNotifications 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-eb9ce2f5b4f9",
        "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-69807254737d",
    "notification_url": "http://conductor.sandbox.internal/robot-server/rest/generic/notification/new"
}

Example ticket

PIX UI built with the information in the example above.

PIX UI built with the information in the example above.

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.

ElementTip
Currency and AmountShould be relevant elements in the ticket. Users need to have that information very clearly.
Currency SymbolR$
Expiration dateDisplay this element clearly and visible enough. In Brazil, the date format is DD/MM/YYYY.
QR CodePresent 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 formatBase 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. amount1 BRL
Max. expiration time supported5 minutes (authentication)
Notification delayImmediate
RefundsYes
FlowDIRECT
REDIRECT

UX Flow

One-shot payment

The screenshots illustrate a Mercado Pago one-shot payment redirect flow. The specifics of the flow may vary depending on the payment method selected to complete the payment.

The screenshots illustrate a Mercado Pago one-shot payment redirect flow. The specifics of the flow may vary depending on the payment method selected to complete the payment.

Tokenized wallet

The screenshots illustrate a Mercado Pago tokenized wallet redirect flow.

The screenshots illustrate a Mercado Pago tokenized wallet redirect flow.

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. amount1 BRL
Max. expiration time supported1 day
Notification delayImmediate
RefundsYes
FlowREDIRECT

UX Flow

The screenshots illustrate a generic PicPay redirect flow through a QR Code.

The screenshots illustrate a generic PicPay redirect flow through a QR Code.

Request parameters

PropertyTypeDescriptionMandatory?
amountNumberAmount to be charged.Yes
currencyStringBRL

Transaction currency in ISO 4217.
Yes
countryStringBR

Transaction country in ISO 3166.
Yes
payment_method_idStringPZ

ID of the selected payment method.
Yes
payment_method_flowStringREDIRECTYes
payer.nameStringName of the payer.Yes
payer.emailStringEmail of the payer.Yes
payer.documentNumberDocument of the payer.Yes
order_idNumberID of the capture given by the merchant in their system. Think of it as an external ID of the capture.No
notification_urlStringNotifications 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"
}

Bank Transfer

Bank transfer is a service that allows customers to carry out bank transfers from bank accounts of any bank in Brazil.

Capabilities

Bank Transfer
Min. amount1 BRL
Max. expiration time supported1 to 12 days
Notification delayImmediate to 1 day, depending on the provider.
RefundsYes
FlowDIRECT
REDIRECT

Request parameters

PropertyTypeDescriptionMandatory?
amountNumberAmount to be charged.Yes
currencyStringBRL

Transaction currency in ISO 4217.
Yes
countryStringBR

Transaction country in ISO 3166.
Yes
payment_method_idStringIO

ID of the selected payment method.
Yes
payment_method_flowStringDIRECT or REDIRECTYes
payer.nameStringName of the payer.Yes
payer.emailStringEmail of the payer.Yes
payer.documentNumberDocument of the payer.Yes
order_idNumberID of the capture given by the merchant in their system. Think of it as an external ID of the capture.No
notification_urlStringNotifications will be sent in every change of status of a payment to the notification_url specified by the merchant.No

Examples

{
    "amount": 100,
    "currency": "BRL",
    "country": "BR",
    "payment_method_id": "IO",
    "payment_method_flow": "DIRECT",
    "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"
        }
    },
    "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": 100,
    "currency": "BRL",
    "payment_method_id": "IO",
    "payment_method_type": "BANK_TRANSFER",
    "payment_method_flow": "DIRECT",
    "country": "BR",
    "bank_transfer": {
        "bank_account_type": "CHECKING",
        "bank_name": "Itau",
        "bank_code": "IO",
        "beneficiary_name": "DEMERGE BRASIL FACILITADORA DE PAGAMENTOS LTDA",
        "bank_account": "91031-8",
        "bank_account2": "445 / 341",
        "bank_account_label": "Conta Corrente",
        "bank_account2_label": "Banco / Agencia",
        "beneficiary_document_type": "CNPJ",
        "beneficiary_document": "33.967.103/0001-84",
        "reference": "10254995",
        "redirect_url": "https://pay.dlocal.com/gmf-apm/payments/M-6ea9fcc0-13db-122f-b0c7-36d01480fe9c",
        "user_payment_amount": 100,
        "expiration_date": "2023-06-17T02:59:00.000+0000"
    },
    "ticket": {},
    "created_date": "2023-06-15T21:01:08.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

Bank Transfer UI built with the information in the example above.

Bank Transfer UI built with the information in the example above.