Chapter 1. Choosing between Pix, parcelado, and boleto.
In Brazil, choosing a payment method is not about picking a button at checkout. You are choosing a cash-flow calendar and a legal remedy. Brazil's three collection rails meet three different needs, and none of them is the default stand-in for the other two. A checkout that offers only Pix “because it's modern” drags down order value. A checkout that offers only cards loses buyers who pay in full. A checkout without boleto loses B2B customers and payments on a due date.
| Decision criterion | Pix | Credit card (parcelado) | Boleto |
|---|---|---|---|
| Funds availability | Immediate: the Manual de Tempos do Pix requires settlement within 40 seconds at most, with a median target of 6.0 seconds | D+30 for à vista (single-payment) credit, by market practice; one installment every 30 days on parcelado lojista | Up to the debtor, until the due date they agreed to |
| Direct cost | Public 2026 market price lists of about 0.89% to 1.45%, with a flat-amount cap per transaction | Average MDR of 2.16% on credit (1.08% on debit), plus the cost of antecipação | Flat fee per boleto, regardless of amount |
| Reversibility | None: the transfer is irrevocable. The only recourse is the MED (Pix's special refund mechanism), which excludes commercial disputes | Chargeback under scheme rules | None: paying a boleto is final |
| Creditor's legal recourse | No instrument: it's a transfer | No instrument: it's a claim on the acquirer | An instrument that can be protested and enforced, decisive in B2B collections |
| Effect on order value | Neutral to negative on high-value orders: no credit | Brazil's order-value lever: 64.2% of installment sales run six installments or fewer | Neutral; supports deferred payment without tying up the debtor's cash |
| Main use case | B2C paid in full, top-ups, marketplaces, anything delivered immediately | Mid- to high-value orders: appliances, travel, education | B2B, invoices with a due date, utilities, in-person payments |
The decision rule in four questions
- Is the product delivered instantly? If so, Pix is structurally risky for the buyer (no protection against non-delivery) and structurally comfortable for the seller, the exact opposite of a card. Adjust your refund policy accordingly, not your rail.
- Does the order value justify credit? Above the average order value in your category, not offering parcelado costs you conversions. Parcelado is not a payment option. It is the most widely used consumer credit product in the country.
- Do I need an enforceable instrument? If the buyer is a company and nonpayment is a real risk, the boleto is the only one of the three that produces an instrument. An unpaid Pix does not exist. There is nothing to collect, just a sale that never happened.
- Who bears the cost of time? With parcelado lojista, you do. With parcelado emissor (com juros, with interest), the buyer does. Switching between the two changes your working capital needs far more than your MDR.
Chapter 2. Wiring up Pix: key, BR Code, txid, and webhook.
In Brazil, the API contract doesn't belong to your PSP. The Banco Central do Brasil publishes the API Pix as an official OpenAPI specification (repository github.com/bacen/pix-api), and the Manual de Padrões para Iniciação do Pix as the QR code standard. Every receiving PSP exposes the same surface: /cob, /cobv, /loc, /pix, /webhook. You can therefore read, test, and build your integration layer before choosing a provider, and switching providers later won't force you to rewrite your business logic. With cards, it's exactly the opposite.
| Key type | Exact format expected in the BR Code | Integration pitfall |
|---|---|---|
fulano_da_silva.recebedor@example.com | Case-sensitive in storage: normalize before comparing | |
| CPF | 12345678900 (11 digits, no punctuation) | Never send the formatted version 123.456.789-00 |
| CNPJ | 00038166000105 or 12ABC34501DE35 | The official manual gives both: your validation can't be ^[0-9]{14}$, because a CNPJ can contain letters |
| Mobile phone | +5561912345678 (international format, including the country code) | The +55 is part of the key; a bare domestic number is not a Pix key |
| Chave aleatória (random key) | 123e4567-e12b-12d1-a456-426655440000 (UUID with its hyphens) | Hyphens are mandatory here; in the txid they're forbidden (see below) |
00 02 01 Payload Format Indicator
26 58 Merchant Account Information
00 14 br.gov.bcb.pix Pix arrangement GUI
01 36 123e4567-e12b-12d1-a456-426655440000 Pix key (random)
52 04 0000 Merchant Category Code (not provided)
53 03 986 ISO 4217 currency — 986 = BRL
58 02 BR Country Code
59 13 Fulano de Tal Merchant Name
60 08 BRASILIA Merchant City
62 07 Additional Data Field
05 03 *** no txid -> "***" by EMV convention
63 04 1D3D CRC16 (polynomial 0x1021, initial value 0xFFFF)
Concatenated payload actually encoded in the QR code:
00020126580014br.gov.bcb.pix0136123e4567-e12b-12d1-a456-42665544000052040000
5303986
5802BR
5913Fulano de Tal
6008BRASILIA
62070503***
63041D3DStatic vs. dynamic QR codes and the txid
- Static QR code: you generate it, with no API call. The BCB specifies that creating one is not part of the Pix API. The amount can be left out (the payer enters it). Its transaction ID is EMV object
62-05, capped at 25 characters; if you leave it empty, EMV convention requires the value***. - Dynamic QR code: created with
PUT /cob/{txid}(immediate payment) orPUT /cobv/{txid}(with a due date). The QR code then carries only alocationpointing to a JSON payload hosted by your PSP. - The Pix API `txid` follows the pattern `[a-zA-Z0-9]{26,35}`: no hyphens, underscores, or periods, and at least 26 characters. A canonical UUID and a short order number are both invalid, and this is the No. 1 cause of rejections in first-time integrations.
- The `txid` must be unique per receiving CPF/CNPJ, and the PSP must enforce that rule: reusing an order ID on a new payment attempt fails.
- `location` values are URLs with no protocol prefix, accessed only over HTTPS after validation, and capped at 77 characters. The path segment indicates the type: none or
/cob/for immediate payment,/cobv/for a due date,/rec/for recurring payments. - `calendario.expiracao` is in seconds and defaults to 86,400; a checkout QR code rarely needs to live longer than an hour. The BCB's official example uses
3600.
{
"calendario": { "criacao": "2020-09-09T20:15:00.358Z", "expiracao": 3600 },
"txid": "7978c0c97ea847e78e8849634473c1f1",
"revisao": 0,
"loc": {
"id": 789,
"location": "pix.example.com/qr/9d36b84fc70b478fb95c12729b90ca25",
"tipoCob": "cob"
},
"status": "ATIVA",
"devedor": { "cnpj": "12345678000195", "nome": "Empresa de Servicos SA" },
"valor": { "original": "37.00", "modalidadeAlteracao": 1 },
"chave": "7d9f0335-8dcc-4054-9bf9-0dbd61d36906",
"solicitacaoPagador": "Servico realizado."
}PUT /webhook/{chave}) and secured with mTLS. It adds that “the specific SLA to be defined for triggering callbacks is up to each receiving PSP.” The BCB only recommends a reasonable delay, and it allows PSPs to batch several Pix payments to the same key into a single call. Architecturally, the webhook is an accelerator; the source of truth is GET /pix. Build a catch-up poller and process batched notifications idempotently.CMD-2026-1042 as the txid in PUT /cob/{txid}. What does the PSP return?Chapter 3. Pix Automático: subscriptions without cards.
Pix Automático has been live since June 16, 2025, and every institution that offers transaction accounts to payers must support it. The payer grants an authorization to their PSP, and you then send periodic cobranças recorrentes (recurring charges) that the payer's PSP schedules and settles automatically. You are no longer collecting from a card that expires, but from an account. Adoption remains modest: about 2.87 million transactions worth R$1.2 billion in May 2026, up from 919,000 and R$568.7 million in January 2026 (Finsiders Brasil, June 2026). Treat it as a complementary channel, not a replacement for cards in recurring billing.
SolicRec object) to the payer's account. This is the only jornada in which the payer can explicitly reject the authorization.ativacao.dadosJornada.txid field becomes mandatory, since it points to the immediate cobrança paid at authorization.idRec starting with C and cannot be modified or queried through the Pix API.The five jornadas correspond to items a) through e) of Regulamento do Pix, art. 11-Q, § 1º, inciso VII, added by Resolução BCB nº 402 of July 22, 2024. Three objects structure the integration. The `Rec` holds the recurrence: purpose of the debit, frequency, and start date. The `SolicRec` is the confirmation request specific to Jornada 1, and the `CobR` is each cobrança recorrente sent on its due date. Frequency is a closed list: SEMANAL, MENSAL, TRIMESTRAL, SEMESTRAL, ANUAL. An “every 45 days” recurrence is not possible.
| Pix Automático | Débito automático (direct debit) | Recurring credit card | |
|---|---|---|---|
| Setup | Authorization given by the payer in their banking app, with no prior agreement between company and bank | Prior agreement between the biller and each bank | Payment method saved at checkout |
| What breaks the subscription | Cancellation by the payer, or a “fatal” rejection code (see chapter 7) | Termination of the agreement or mandate | Card expiration, loss, or reissue; 3-D Secure failure |
| Funds | Central bank money, immediate and irrevocable | Interbank clearing | Claim on the acquirer, settled at D+30 |
| Retries after a failure | Set by the rules: NAO_PERMITE or PERMITE_3R_7D | Per the agreement | Up to you (dunning), with no regulatory cap |
| Cost to you | Your PSP's Pix pricing for legal entities | Bank fees | Credit MDR, 2.16% average in H1 2025 (BCB) |
The retry policy, a field of the recurrence, has only two possible values: NAO_PERMITE or PERMITE_3R_7D. The second allows “up to 3 retries, on different days, within a 7-calendar-day window counted from the settlement date scheduled in the original payment instruction.” That choice is encoded in the recurrence ID: an idRec starts with RR (created in Pix, retries allowed), RN (in Pix, no retries), or CR or CN for the Open Finance equivalents. Two other kinds of retry exist, outside your control. The first, intraday, handles insufficient funds and is up to the payer's PSP alone; the second, also intraday, handles settlement errors. Any adjustment for a payment made after the due date applies only to the next cobrança.
politicaRetentativa: "PERMITE_3R_7D" mean on a Pix Automático recurrence?Chapter 4. Parcelado and antecipação: calculating the real cost.
Brazil has two kinds of installment plans, and they must never be confused in an acquiring contract. With parcelado emissor (com juros), the issuer extends the credit: you are paid as for a single-payment sale, and the buyer pays interest to their bank. With parcelado lojista (sem juros), you carry the installments. The customer pays no stated interest, and you are paid one installment at a time, month by month. This mechanism shapes the entire cash cycle of Brazilian retail, and it is also why antecipação de recebíveis, the discounting of your future receivables, exists.
| Parameter | What applies | Basis or source |
|---|---|---|
| Debit interchange | Hard cap of 0.50% | Resolução BCB nº 246/2022, in force since April 1, 2023 |
| Prepaid interchange | Capped at 0.70% | Resolução BCB nº 246/2022 |
| Credit interchange | Uncapped; observed average of 1.68% in H1 2025 | Banco Central do Brasil, November 2025 |
| Average MDR | 2.16% on credit, 1.08% on debit | Banco Central do Brasil, H1 2025 |
| Settlement of single-payment (à vista) credit | Market convention: D+30 | Market practice; timelines governed by Resolução BCB nº 246/2022 |
| Settlement of parcelado lojista | One installment every 30 days until the last parcela | Market practice |
| Antecipação rate | Negotiated, not published: the variable that sets your real cost | Contract; market spread fell to a low of 0.15 percentage point in August 2023 (CERC, based on BCB data) |
| Vale-refeição / alimentação (meal and food vouchers) | MDR capped at 3.6%; deságio and rebate banned | Decreto nº 12.712/2025, based on Lei nº 14.442/2022 |
The formula, then the numbers
Sale data
Gross amount V = R$ 1,200.00
Number of parcelas n = 6 (parcelado lojista, interest-free for the customer)
Credit MDR = 2.16% (BCB average, H1 2025)
Antecipacao rate a = 1.5% / month <-- CALCULATION ASSUMPTION, NOT A
MARKET RATE: replace it
with the rate in YOUR price list
Step 1 — acquiring fee
MDR = 1,200.00 x 2.16% = R$ 25.92
Net = 1,200.00 - 25.92 = R$ 1,174.08
Parcela = 1,174.08 / 6 = R$ 195.68
(due at D+30, D+60, ... D+180)
Step 2 — cost of advancing the entire schedule
Sum of months waited = n(n+1)/2 = 6 x 7 / 2 = 21 installment-months
Cost = 195.68 x 1.5% x 21 = R$ 61.64
Step 3 — total cost and effective rate
Total cost = 25.92 + 61.64 = R$ 87.56
Effective rate = 87.56 / 1,200.00 = 7.30% of gross
Check which discounting convention applies in YOUR contract
(simple or compound, on gross or on net): over 12 parcelas,
the gap between two conventions runs to several points of margin.| Scenario | Direct cost | Cost of time | Total cost | Funds available |
|---|---|---|---|---|
| Pix | ≈ R$12.00 at 1.00% (2026 market price lists: 0.89% to 1.45%) | None | ≈ 1,00 % | Within seconds |
| À vista credit, no advance | R$25.92 (MDR 2.16%) | None, but a D+30 lag | 2,16 % | D+30 |
| À vista credit, advanced | R$25.92 | R$17.61 (1 month) | 3,63 % | Immediate |
| Parcelado 6×, no advance | R$25.92 | None, but spread over 6 months | 2,16 % | D+30 → D+180 |
| Parcelado 6×, advanced | R$25.92 | R$61.64 (21 installment-months) | 7,30 % | Immediate |
This table shows why, in Brazil, negotiating the MDR without negotiating antecipação means haggling over a quarter of the real cost. It also explains the business model of local acquirers. In 2025, Rede reported R$2.058 billion in service revenue and R$3.770 billion in financial intermediation revenue, nearly twice as much. A Brazilian acquirer isn't selling you a fee. It's selling you cash.
Chapter 5. Choosing an acquirer in the world's most competitive market.
Brazil is one of the few markets in the world where acquiring is becoming less concentrated. The combined share of the top four acquirers fell from about 84.8% in Q1 2019 to 72.7% in Q3 2023 (Banco Central do Brasil data reported by the trade press). You are not entering a duopoly with take-it-or-leave-it pricing, but a market where five large-scale players compete for your receivables schedule, plus a long tail of sub-acquirers and wallets. Negotiate accordingly.
| Lever | The question to ask | The proof to demand before signing |
|---|---|---|
| 1. MDR | What rate per card brand, per product (debit, à vista credit, parcelado), and per volume tier? | A simulation on your actual transaction mix, not an average mix. For reference: market averages of 2.16% on credit and 1.08% on debit in H1 2025 (BCB). |
| 2. Settlement time | D+how many on à vista credit? What exact schedule on parcelado? | The schedule in writing, day by day, including how non-business days are handled. |
| 3. Antecipação rate | What monthly rate, what discounting convention, how long until funds are released? | Two competing quotes obtained through your registradora: the only way to know whether the rate you're offered is a market price or a rent. |
| 4. Where the schedule is registered | Where is my receivables schedule registered, and am I free to pledge it elsewhere? | The registradora named explicitly (CERC, Nuclea, TAG, B3, or CRDC), and no de facto exclusivity clause. |
| 5. Acceptance coverage | Is Elo enabled? Are meal vouchers (vale-refeição) included or separate? | The list of arranjos enabled on your MID. Elo accounted for 8.7% of cards issued in Q1 2025 (BCB); vale-refeição cards require separate affiliations. |
A new due diligence question emerged in 2025: who is your provider's PSTI, and what does its license cover? An incident forced the issue. In July 2025, an attack on C&M Software led to the theft of roughly R$800 million from its clients' reserve accounts. This prestador de serviços de tecnologia da informação (IT service provider, or PSTI) connects institutions without direct access to the SPB (Brazil's payment system) and the SPI. The attack vector was not a flaw in Pix but the technical intermediation layer, and social engineering of its staff. The regulatory response came fast. PSTIs are governed by Resolução BCB nº 498/2025, overhauled in January 2026 and then tightened by Resolução BCB nº 547/2026, and their minimum capital is around R$15 million.
Chapter 6. CNPJ, collection setup, FX, and repatriation.
There are only three setups for collecting from Brazilian consumers, and your choice drives everything else: approval rate, access to the rails, taxes, and repatriation time. Make the call before technical integration, never after. Switching setups means redoing the project.
| Capability | Cross-border | Local entity (CNPJ) | Local merchant of record |
|---|---|---|---|
| Pix (key, QR code, Pix API) | No | Yes | Yes, in the MoR's name |
| Parcelado sem juros | No | Yes | Yes |
| Boleto | No | Yes | Yes |
| Vale-refeição / alimentação (meal and food vouchers) | No | Yes, separate merchant enrollment | Depends on the MoR |
| Card approval rate | Severely degraded | Domestic | Domestic |
| Repatriation of funds | Immediate, in foreign currency | Separate FX transaction | Handled by the MoR |
| Compliance burden | Low | High (CNPJ, taxes, possibly IP authorization) | Transferred to the MoR |
| Name on the customer's statement | You, abroad | Your Brazilian entity | The MoR |
The CNPJ: the identity key for all your collections
- The CNPJ isn't just a tax ID: it's the settlement identifier. It carries the company's Pix key, identifies the
recebedor(payee) on every cobrança, owns the receivables schedule, and is the uniqueness key for the `txid`: the Pix API specification requires the txid to be unique per receiving CPF/CNPJ. - Structure: 14 characters, including an 8-character root that identifies the company. The BCB manual explicitly uses that root to build the Pix Automático
idRecwhen the agent is a payment initiation provider (“the first 8 characters of the CNPJ”). - A CNPJ can contain letters. The Manual de Padrões para Iniciação do Pix v2.9.0 gives two valid CNPJ key examples:
00038166000105and12ABC34501DE35. Any^[0-9]{14}$validation in your code, your ERP, or your third-party master data breaks on this format. Fix it before go-live, not after. - The receiving PSP verifies that you hold the account declared in the cobrança: you can't have a third party collect under your CNPJ without a properly structured sub-acquiring or split-payment arrangement.
- The CPF, its equivalent for individuals, appears on the payer side. A DICT lookup shows the payer, before confirmation, the payee's name, masked CPF or CNPJ, and key, but never the branch or account number. Payee verification is built into the rail: there's no confirmation-of-payee layer to build.
Foreign exchange is governed by Lei nº 14.286 of December 29, 2021, which replaced a framework dating back to 1935. Resolução BCB nº 277 of December 31, 2022 implements it. Two operational points stand out. The purpose of the transaction must be declared up to a threshold of $50,000, with the reporting responsibility shifted to the authorized institution. The regime also explicitly recognizes eFX providers: fintechs not licensed for FX that operate through a contract with an institution that is. This route is the regulatory entry point for most cross-border players in Brazil, which is why you should ask your PSP which authorized institution executes your FX.
^[0-9]{14}$. What problem does this cause?Chapter 7. Handling the most common declines.
In Brazil, three families of declines look alike on a dashboard but have nothing in common. An integration error comes from an invalid request, while a settlement rejection comes from a payer who can't pay. A false decline isn't a decline at all: nothing failed, you just didn't see it. Confusing them leads to the worst possible decision: retrying.
| Symptom | Exact cause | Fix |
|---|---|---|
400 on PUT /cob/{txid} | The txid doesn't match [a-zA-Z0-9]{26,35} | Generate an alphanumeric ID of 26 to 35 characters; never reuse a canonical UUID |
| 400 “txid already used” | The txid is unique per receiving CPF/CNPJ | Don't reuse the order ID on a new payment attempt |
400 on the chave field | The key “corresponds to an account that does not belong to this usuário recebedor” | Check that the key is registered to the account of the contracting CNPJ |
400 on valor.original | Zero or off-schema value | Format \d{1,10}\.\d{2}; reject zero-amount carts upstream |
400 on calendario.expiracao | Zero or negative value | Express it in seconds; the standard default is 86,400, and the BCB's official example uses 3,600 |
400 on loc.id | Location doesn't exist, has already been used, or is type cobv while the cobrança is a cob | One loc per cobrança, with the right tipoCob |
| 400 on update | The cobrança is no longer in ATIVA status | An expired or completed cobrança can't be modified: create a new one |
- Settlement rejections in Pix Automático: the attempt carries a
rejeicao.codigoobject taken from the Catálogo de Mensagens do SPI. The 19 possible codes areAB10,AC05,AC06,AM02,AM09,DENC,DS27,DTED,DTNT,FBRD,IRNT,MIDI,MSUC,NIEC,NIPA,NITX,QUNT,RC09,UDEI. Nine of them don't just fail an attempt, they kill the cobrança recorrente:AC05,AM09,DENC,DS27,DTED,MIDI,MSUC,NITX, andRC09. Your retry logic must read the code before scheduling a retry. On those nine, there's nothing to retry: the customer has to subscribe again. - Card declines: cross-border. In pure cross-border, the approval rate collapses because Brazilian issuers decline foreign transactions en masse. Retrying won't fix this decline; changing your setup will (local entity or merchant of record).
- Card declines: card brand not enabled. Elo accounted for 8.7% of cards issued in Q1 2025 (BCB): not enabling it means structurally turning away part of the cardholder base. Conversely, Hipercard has shut down: no transaction has been approved since July 1, 2025, and its portfolio has migrated to Mastercard. An outdated BIN table produces phantom declines.
- Card declines: parcelado not set up. The number of parcelas and the mode (lojista or emissor) must be provided for in the merchant agreement and sent in the transaction. If they aren't, the sale simply can't be split into installments.
- Acceptance declines: meal voucher (vale-refeição) cards presented on a standard MID. Alelo, Ticket (Edenred), VR, Pluxee Brasil, Caju, and Flash run closed arranjos de pagamento: they require a separate affiliation with their own rules. Their MDR is capped at 3.6% by Decreto nº 12.712/2025.
PUT /pix/{e2eid}/devolucao/{id}. Your Brazilian customer service team must understand this distinction, or it will send customers to their bank for nothing.- False decline No. 1: the webhook that never arrives. The callback SLA is set by each receiving PSP, not by the standard, and PSPs may batch several Pix payments to the same key into a single call. A
GET /pixpoller and idempotent processing turn this “decline” into mere latency. - False decline No. 2: the unregistered boleto. Since the Nova Plataforma de Cobrança run by Nuclea, “unregistered” boletos no longer exist: without central registration, payment is impossible. A boleto “rejected at the counter” is almost always a boleto that was never registered.
- False decline No. 3: the unreadable QR code.
locationvalues are capped at 77 characters with no protocol prefix, over HTTPS only. A URL that's too long or includes a protocol prefix produces a QR code that apps refuse to open. The payment was never even attempted. - False decline No. 4: the “lost” Pix. Always reconcile on the
EndToEndId(exactly 32 alphanumeric characters), not on the amount: the same amount can arrive several times in the same second, and thetxidmay be missing from a Pix initiated by entering the key manually.
rejeicao.codigo = "AM09". What should your retry logic do?