Skip to main content
The Pix Indirect Plugin (BTG) generates and manages Pix QR Codes (BR Codes) so your customers can receive payments. It supports four QR Code domains: static BR Codes, immediate charges (cobrança imediata / COB), due-date charges (cobrança com vencimento / COBV), and a universal decoder for payment initiation. All QR Codes follow the EMV QCO specification and embed the receiver’s Pix key. Before a QR Code can be created, the receiver key must already exist in DICT and be owned by the requesting account (identified by the X-Account-Id header). See the DICT guide for key registration.

Choosing a QR Code type


Static QR Codes


Static BR Codes (/v1/brcode/static) are reusable — the same code can be paid many times by different payers. They are tied to a Pix key and, optionally, merchant data. Fixed vs. variable amount:
  • With amount — the payer scans and confirms a predefined value. Useful for fixed-price items.
  • Without amount — the payer scans and enters the value manually. Useful for donations or open checkout.
You can enrich the code with merchant data (merchant.name, merchant.city, merchant.categoryCode (MCC, 4 digits), merchant.postalCode) and an optional txId (alphanumeric, ≤ 25 characters) for reconciliation. If merchant data is omitted, the plugin can enrich it from CRM holder data.
Pass include_base64=true to also receive a Base64-encoded PNG of the QR Code. The plugin validates key ownership (returns PIX-0092 if the key is not owned, PIX-0093 if inactive). Reference: Create a static QR code · List · Retrieve

Immediate charges (COB)


Immediate collections (/v1/collections/immediate) are dynamic, single-use QR Codes for a specific amount with a short validity window. Each is uniquely identified by a required txId and can only be paid once. Required fields: amount, expirationInSeconds (recommended ≤ 3600), receiverKey, and txId. An optional debtor (name + document) restricts who may pay — when set, only the specified CPF/CNPJ can settle the charge. Lifecycle: When created, the plugin schedules an expiration job; after expirationInSeconds elapses the charge can no longer be paid. While ACTIVE, the charge can be updated (PATCH) or deleted (DELETE) — a charge in CONCLUDED status cannot be deleted (PIX-0104). Payment confirmation: when an incoming Pix settles the charge, the plugin transitions it to CONCLUDED and emits a webhook so your system is notified in real time. See the Webhooks guide and the Collections guide for the full payment flow. Reference: Create an immediate charge · List · Retrieve · Update · Delete

Due-date charges (COBV)


Due-date collections (/v1/collections/duedate) are dynamic QR Codes for billing with a due date, analogous to a boleto. They support complex amount rules and require full debtor and receiver data. Key fields: dueDate, validAfterDue (days the charge stays payable after the due date — default 30), a required debtor (name + CPF/CNPJ, plus optional email/address/city/state/zipCode), and an amount object with optional charge components: Payment timing determines the final value: before the due date the payer gets any applicable discount; on the due date the original amount applies; after the due date fines and interest are added (minus any abatement). UP_TO_DATE discount types require a date that must fall before the dueDate. The plugin validates the debtor document format (PIX-0073) and schedules expiration at dueDate + validAfterDue. Reference: Create a due-date charge · List · Retrieve · Update

Decoding QR Codes


The decoder (POST /v1/qrcodes/decode) parses any scanned Pix QR Code and returns its embedded payment data. Use it in payment-initiation flows — when a customer scans a QR Code and you need the receiver, amount, and charge details before confirming the payment. The plugin auto-detects the QR Code type and returns a typed response:
  • STATIC — receiver key, optional amount/description, merchant info, txId.
  • IMMEDIATE (COB) — all static fields plus required amount, expiration, status, and review number.
  • DUE_DATE (COBV) — all immediate fields plus due date, validAfterDue, debtor, receiver, and the full fine/interest/discount structure.
For dynamic codes, the plugin resolves the dynamic payload from BTG before returning, so the response reflects the charge’s current state.
Reference: Decode a Pix QR code

Next steps


  • Collections — Collection lifecycle, payment linking, and webhook events
  • DICT — Registering the Pix keys your QR Codes receive on
  • Webhooks — Payment and status notifications