--- title: "Static Pix QR Code: How It Works and Developer Responsibilities" description: "Understand what a static Pix QR Code is, how it is generated by the API, its limitations, and why payment verification is your application's responsibility — not QRRapido's." keywords: "pix qr code, static pix, pix qr code api, pix qr code integration, pix without central bank" author: "QRRapido" date: 2026-03-08 lastmod: 2026-03-08 image: "" --- # Static Pix QR Code: How It Works and Developer Responsibilities ## What is a Static Pix QR Code? Pix has two types of QR codes: **static** and **dynamic**. | | Static Pix | Dynamic Pix | |---|---|---| | Amount | Variable (payer decides) | Fixed (set by recipient) | | Generation | Any system | PSP/Central Bank intermediary | | Central Bank registration | **No** | Yes | | Payment notification | **No** | Yes (webhook) | | Typical use | Donations, simple charges | E-commerce, tracked billing | The QRRapido API generates **exclusively static Pix QR codes**. This is deliberate and sufficient for most use cases. --- ## How the API Generates the Pix QR Code When you send a request with `type: "pix"`, the API assembles a string in the **EMV® QR Code** standard (the international standard adopted by Brazil's Central Bank) and generates the image: ```json { "type": "pix", "content": "contact@yourcompany.com" } ``` The `content` field must contain **only the Pix key** of the recipient. The API handles assembling the EMV payload correctly. **Accepted keys:** - Email: `contact@company.com` - CPF/CNPJ: digits only — `12345678901` or `12345678000195` - Phone: `+5511999999999` - Random key (EVP): `123e4567-e89b-12d3-a456-426614174000` --- ## What the API Does NOT Do (and Why This Matters) > **QRRapido has no integration with the Central Bank, any bank, or any PSP (Payment Service Provider).** This means: 1. **The API does not know if the payment was made.** It only generates the QR code image. What happens after — whether the customer scanned it, whether the Pix was sent, whether it landed in the right account — is outside the scope of the API. 2. **There is no payment confirmation webhook.** The API does not send notifications when a Pix is received. 3. **The QR code does not expire automatically.** A static Pix QR code is valid indefinitely (or until the Pix key is removed by the recipient at the bank). 4. **There is no transaction traceability.** Two requests with the same key generate the same QR code (with cache). It is not possible to associate a scan with a specific transaction via the API. --- ## Your Application's Responsibility If you use the API to generate Pix QR codes in a payment flow, **it is your application's responsibility to verify receipt**. The correct ways to do this are: ### Option 1 — Recipient's Bank Pix API Connect directly to the Pix API of the bank where the key is registered. Most banks offer: - Query of received charges - Real-time notification webhook (when the bank supports it) ### Option 2 — PSP / Payment Gateway Use an intermediary such as Mercado Pago, PagSeguro, Efí Bank, Asaas, etc. They offer dynamic Pix with full control: fixed amount, expiration, webhooks and unique identification per charge. ### Option 3 — Manual Verification For low volumes or informal contexts (donations, in-person sales), the person responsible for receiving verifies the bank statement manually. --- ## Recommended Flow (with confirmation) ``` Your App QRRapido API Recipient's Bank | | | |-- POST /generate (pix) -->| | |<-- qrCodeBase64 ----------| | | | | |-- Shows QR to customer | | | | | |-- Query payment ---------------------------------->| |<-- Received status or not --------------------------| | | | |-- Releases product/service| | ``` --- ## Complete Request Example ```bash curl -X POST https://qrrapido.site/api/v1/QRManager/generate \ -H "X-API-Key: your_key_here" \ -H "Content-Type: application/json" \ -d '{ "content": "contact@yourcompany.com", "type": "pix", "size": 400, "outputFormat": "webp" }' ``` --- ## Appropriate Use Cases for Static Pix via API - Donation QR code on an institutional website - Digital menu with key for in-person payment - Batch QR generation for printed materials (flyers, cards) - Applications where the seller and buyer interact in person and the seller confirms receipt in the bank app ## Use Cases That Require Dynamic Pix (not supported by this API) - E-commerce with automatic order confirmation - Fixed-amount billing with expiration - Invoice issuance linked to payment - Automated financial reconciliation --- ## Summary | What the API does | What the API does NOT do | |---|---| | Generates the Pix QR code image | Verifies if the payment was made | | Formats the EMV payload correctly | Sends confirmation webhook | | Delivers PNG, WebP or SVG | Communicates with the Central Bank or banks | | Works with any valid Pix key | Guarantees the key belongs to who claims it does | Correct QR code generation is the API's responsibility. **Payment confirmation is your application's responsibility.**