QR Code Pix is the fastest way to receive payments in Brazil — Pix is Brazil's instant payment system. It replaces account number + branch + payee name with a single scan. In seconds the customer sees the amount, confirms and pays.
But there are two types of Pix QR (static and dynamic), with important differences in security, control and reports. And there are common mistakes that kill payment conversion. This guide explains everything.
Note for non-Brazilian readers: Pix is the Brazilian Central Bank's instant payment system. It's similar to UPI in India or SEPA Instant in Europe. This guide is for businesses operating in Brazil. If you're outside Brazil, the static vs dynamic concept still applies to any QR payment system you use.
The 2 types of Pix QR
Static Pix
QR Code with the Pix key embedded (no amount, or with fixed amount). The scanner types the amount (or accepts the fixed one) and pays.
- Advantages: simple to generate, works offline (you don't even need internet to generate — only the customer does, to pay), free forever.
- Disadvantages: amount typed by the customer can be wrong, payment identification is weak ("Pix of R$87.40 received" — from whom?), high fraud risk if posted on social media (someone can swap your QR for theirs).
Dynamic Pix (with charge)
QR Code with full charge payload: unique identifier, exact amount, description, receipt. Generated via the financial institution's API (Mercado Pago, Stripe, Asaas, or directly from your bank).
- Advantages: each charge has a unique ID (you know exactly who paid what), precise amount (customer can't make a mistake), webhook notifies your system the moment payment lands, automatic reconciliation.
- Disadvantages: needs technical integration (API), usually involves a sub-acquirer that charges a fee (~0.99% to 1.5% of the amount), requires connection at generation time.
When to use each
Static Pix:
- Small commerce (food truck, street fair) without management system.
- Simple donation (church, NGO, tip).
- Payment between acquaintances (splitting bill, returning money).
Dynamic Pix (charge):
- E-commerce.
- Restaurant with order system.
- SaaS, monthly bill, subscription.
- Any sale that needs automatic reconciliation.
How to generate static Pix
Directly from your bank app:
- Bank app → Pix → Receive → Generate static QR Code
- Choose Pix key (CPF, email, phone, random)
- Set amount (or leave free)
- Save PNG image of QR
Or via third-party platform (Code2Scan, online generator): paste your Pix key, set amount, download PNG.
⚠️ Watch out: if you generate via a third-party platform and the platform is dishonest, it can swap your key for theirs. Use reputable platforms and always test with a R$1 payment before publishing the QR at scale.
How to generate dynamic Pix
You don't generate manually — it comes from your PSP (provider):
- Mercado Pago: dashboard → create charge → download QR
- Stripe: create Payment Intent with Pix → API returns QR
- Asaas, PagSeguro, etc.: similar
- Bank directly (business account): PIX API directly from the bank — cheaper (no intermediary fee) but more work
Each generated charge is unique — you don't reuse it.
The 4 mistakes that kill Pix
1. QR Code too small
On a restaurant table, minimum 3cm × 3cm. The customer is already in a hurry to pay — if it doesn't scan first try, they'll ask to type the key manually and you lose the convenience.
2. Wrong typed amount (static)
Customer types a zero wrong, pays R$870 instead of R$87. Refund takes days, conflict generated. Solution: use dynamic Pix (charge), or print a visible sign with "Check the amount before paying".
3. Pix key exposed without QR
A storefront sticker "Pix CPF 123.456.789-00" is an invitation to fraud (someone clones it, swaps for their CPF, pastes over). Always use QR, which has built-in protection.
4. No confirmation message
Customer pays and doesn't know if you received it. Solution:
- Dynamic Pix: webhook notifies your system instantly.
- Static Pix: customer shows the receipt; you check the amount; or use an app that receives push notifications from the bank.
QR Pix on printed material
If you want to print Pix QR on physical material (menu, packaging):
- Use fixed amount or zero amount (customer types).
- Print Pix key as text alongside as fallback (in case QR reading fails).
- Add validation phrase: "Confirm that the recipient is [YOUR NAME]".
Summary
| Aspect | Static Pix | Dynamic Pix (charge) |
|---|---|---|
| Who generates | You directly | System/PSP |
| Cost | Free | ~1% of amount |
| Payer identification | Loose | Strong (unique ID) |
| Fraud risk | Medium | Low |
| Reconciliation | Manual | Automatic |
| Good for | Simple commerce, tip, P2P | E-commerce, SaaS, recurrence |
For most small physical businesses, static with fixed amount already solves it. To scale, dynamic is the natural path.
Generate your Pix QR free — export in PNG or SVG, high quality.