Why Offer Pix?
Dominant in Brazil
Instant Settlement
Low Friction
Overview
The minimum is the checkout minimum for BRL, so it applies to every payment method on a BRL checkout. A BRL payment must also be at least the equivalent of $0.50 for one-time payments and $1.00 for subscriptions. See Minimum Amounts.How It Works
Customer Experience
- The customer selects Pix at checkout and enters their CPF (the 11-digit Brazilian taxpayer ID) in the Pix CPF field.
- The customer confirms the payment. A QR code opens in a full-screen overlay, with the Pix code and a Copy the code button below it.
- The customer opens their banking app, selects Pix, and scans the QR code or pastes the Pix code.
- The payment confirms within seconds.
- Checkout detects the completed payment and redirects the customer to your success page.
The Pix QR code expires after a limited time. If the customer doesn’t pay in time, they need to start a new checkout from your site.
Configuration
API Method Type
Testing
1
Enable Test Mode
Turn off the Live Mode switch in the dashboard sidebar, and use API keys created in test mode.
2
Set Billing Currency to BRL
Enable Adaptive Currency. Then create a checkout session with
billing_currency: 'BRL' and pix in allowed_payment_method_types.3
Enter Test CPF and Scan the QR Code
In the Pix CPF field, enter
00000000000 (11 zeros). Checkout shows a test QR code. Scan it with your phone’s camera; a Pix or banking app isn’t needed. The QR code opens a test page where you can simulate a successful or failed payment.Best Practices
Set billing currency to BRL
Set billing currency to BRL
Pix works only on checkouts billed in BRL, and Dodo Payments bills in BRL only when Adaptive Currency is enabled. Enable Adaptive Currency so customers in Brazil are quoted and billed in BRL.
Provide card fallbacks
Provide card fallbacks
Some Brazilian customers prefer to pay by card. Include
credit and debit as fallback payment methods.Handle QR code expiration
Handle QR code expiration
Pix QR codes expire after a limited time. If a customer comes back after the code expires, create a new checkout session for them.
Troubleshooting
Pix not appearing at checkout
Pix not appearing at checkout
Check:
- Is the billing currency
BRL? - Is
pixincluded inallowed_payment_method_types? - Is the customer’s billing country Brazil (
BR)? With Adaptive Currency, a Brazilian billing address sets the billing currency to BRL. - Is Adaptive Currency enabled?
- Does the amount meet the 0.50 BRL minimum and the USD minimum?
QR code expired
QR code expired
Cause: The customer didn’t complete the payment within the expiration window.Solution: The customer needs to start a new checkout from your site. To send them a new payment link, create a new checkout session.
Payment pending
Payment pending
Cause: Most Pix payments confirm within seconds, but a bank can occasionally delay a transfer.Solution: Use the
payment.succeeded and payment.failed webhooks for the final payment status instead of the return redirect. If the payment doesn’t confirm within a few minutes, treat it as failed.