Journal

Pix Payment QR Code Screen in React Native: The Build

You display the QR and the copy-paste code. Your backend mints it via a PSP and confirms by webhook. You never touch bank data.

Pix Payment QR Code Screen in React Native: The Build: the App Store logo as a glossy glass icon on a purple and blue gradient with floating bubbles

TL;DR

A Pix payment screen in React Native displays a QR code and a copy-and-paste code (Pix Copia e Cola) that your backend generates through a payment provider, plus the amount, an expiry countdown, and a live status. You render the QR from the string the backend returns; you never generate Pix data on the device and never touch banking credentials. Confirmation comes from your server via a provider webhook, not from the app guessing. Start the screen from a clean layout, like a free VP0 design at $0.

Pix is how Brazil pays, and the screen is simpler than a card form once you understand the flow. Your app does not create the payment; it displays a QR code and a copy-and-paste code that your backend generated through a payment provider, then waits for the server to confirm. The app never touches banking credentials. Here is the right structure and the one security line that matters. Start the screen from a free VP0 design (the free iOS and React Native design library AI builders read from) at $0.

The flow: show the code, wait for the server

Pix is Brazil’s instant payment system, run by the central bank. A charge is a QR code plus a copy-and-paste string (Pix Copia e Cola), and the payer approves it in their own bank app.

StepWhereWhat happens
1BackendCreate a Pix charge via your provider; get the QR string and copy code
2AppRender the string as a QR, show a copy button, amount, expiry
3BankPayer scans or pastes the code and approves in their bank app
4BackendProvider webhook confirms payment; server signals the app

Providers like Stripe and Adyen expose this as an API: you create the charge server-side and they return the code. The app’s job is display and status, nothing more.

The security line: device shows, server decides

Two rules keep this correct. First, never generate the Pix code on the device. The code is an EMV-style BR Code tied to a real charge and a registered Pix key, so it is minted server-side through your provider; the app only renders the returned string as a QR. Second, never let the app decide success. Confirmation arrives at your server via a provider webhook when the transfer settles, and the server tells the app (through a polled status endpoint or a push). The app waits for the server-confirmed status, because only the server has the truth. This is the same redirect-and-confirm shape as the iDEAL payment bank selector UI and the QR pattern in the WeChat Pay QR code scanner UI.

What the screen needs

Beyond the QR, include the amount, the copy-and-paste code with a copy button (many people paste rather than scan), an expiry countdown since Pix charges expire, a clear status (waiting, paid, expired), and a regenerate action for when it lapses. Keep the instruction to one line: scan or paste this in your bank app and approve. To store the pending charge so the screen survives a reload, read and write through your local models the way WatermelonDB offline storage via Claude prompts sets up, and for the account security around payments, the Face ID biometric login screen in SwiftUI covers gating access. For a card-based alternative flow, the Paystack React checkout generator shows the hosted pattern.

Key takeaways

  • A Pix screen displays a backend-generated QR and copy-and-paste code, then waits.
  • Never generate the Pix code on the device; it is minted server-side via your provider.
  • Confirmation comes from a provider webhook to your server, never from the app guessing.
  • Include amount, copy button, expiry countdown, status, and a regenerate action.
  • Build the screen from a free VP0 design at $0, wired to your provider.

Frequently asked questions

How does a Pix payment QR code screen work?

Your backend creates a Pix charge through a payment provider and returns a QR code string and a copy-and-paste code (Pix Copia e Cola). The app renders that string as a QR image, shows a copy button, the amount, and an expiry countdown, then waits. The payer scans or pastes the code in their own bank app and approves it there. Your server learns it was paid through a provider webhook and tells the app to move on.

Do I generate the Pix QR code on the device?

No. The Pix code (an EMV-style BR Code) is created server-side through your payment provider, because it has to be tied to a real charge and a registered Pix key. The app only renders the string the backend returns as a QR and offers a copy button. Generating payment data on the device would be both insecure and incorrect.

How does the app know a Pix payment succeeded?

Through your backend, not the app. The payment provider notifies your server with a webhook when the Pix transfer settles, and your server updates the order and signals the app (by polling a status endpoint or a push). The app should never assume success on its own; it waits for the server-confirmed status, because only the server has the truth.

What should a Pix screen include besides the QR code?

The amount, a copy-and-paste code with a copy button (many people paste rather than scan), an expiry countdown since Pix charges expire, a clear status (waiting, paid, expired), and a way to regenerate if it expires. Keep instructions short: scan or paste in your bank app and approve. Never ask for any banking credentials in your screen.

What is the best way to build a Pix payment screen in React Native?

Render the QR and copy code from your backend’s response, show amount, expiry, and a server-confirmed status, and start from a clean checkout layout. A free VP0 design, the free iOS and React Native design library for AI builders, gives you the Pix screen to generate in Cursor or Claude Code at $0, wired to your provider.

What the VP0 community is asking

How does a Pix payment QR code screen work?

Your backend creates a Pix charge through a payment provider and returns a QR code string and a copy-and-paste code (Pix Copia e Cola). The app renders that string as a QR image, shows a copy button, the amount, and an expiry countdown, then waits. The payer scans or pastes the code in their own bank app and approves it there. Your server learns it was paid through a provider webhook and tells the app to move on.

Do I generate the Pix QR code on the device?

No. The Pix code (an EMV-style BR Code) is created server-side through your payment provider, because it has to be tied to a real charge and a registered Pix key. The app only renders the string the backend returns as a QR and offers a copy button. Generating payment data on the device would be both insecure and incorrect.

How does the app know a Pix payment succeeded?

Through your backend, not the app. The payment provider notifies your server with a webhook when the Pix transfer settles, and your server updates the order and signals the app (by polling a status endpoint or a push). The app should never assume success on its own; it waits for the server-confirmed status, because only the server has the truth.

What should a Pix screen include besides the QR code?

The amount, a copy-and-paste code with a copy button (many people paste rather than scan), an expiry countdown since Pix charges expire, a clear status (waiting, paid, expired), and a way to regenerate if it expires. Keep instructions short: scan or paste in your bank app and approve. Never ask for any banking credentials in your screen.

What is the best way to build a Pix payment screen in React Native?

Render the QR and copy code from your backend's response, show amount, expiry, and a server-confirmed status, and start from a clean checkout layout. A free VP0 design, the free iOS and React Native design library for AI builders, gives you the Pix screen to generate in Cursor or Claude Code at $0, wired to your provider.

Part of the Payments, Monetization & Regional Fintech hub. Browse all VP0 topics →

Keep reading

BHIM UPI PIN Keypad in React Native: The Honest Guide: the App Store logo as a frosted glass icon on a pink and blue gradient with bubbles
Guides 5 min read

BHIM UPI PIN Keypad in React Native: The Honest Guide

Why you cannot build a real UPI PIN keypad in React Native, what you can build instead (app-lock PINs, labeled prototypes), and how real UPI payments flow.

Lawrence Arya · June 4, 2026
Stripe Checkout UI in React Native (Free Design): a glossy App Store icon on a blue, pink and orange gradient with bubbles
Guides 4 min read

Stripe Checkout UI in React Native (Free Design)

Build a clean Stripe checkout in React Native: cart summary, payment sheet, and clear states, from a free VP0 design. Stripe handles the card data, you build the UI.

Lawrence Arya · May 31, 2026
Build a Tengo Pay-Style Payment App UI in React Native: a glass photo icon surrounded by chat, music, heart, camera and shopping app icons on a pastel gradient
Guides 8 min read

Build a Tengo Pay-Style Payment App UI in React Native

A payment-app clone reproduces clean send, balance, and QR-pay patterns, not a brand. Here is how to build the Tengo Pay-style UI in React Native, money included.

Lawrence Arya · June 9, 2026
MobilePay Danmark UI Clone in React Native: Guide: a vivid neon 3D App Store icon on an orange, pink and blue gradient
Guides 5 min read

MobilePay Danmark UI Clone in React Native: Guide

How to build a MobilePay-style payment UI in React Native: amount-first numpad, swipe-to-pay slider, social payment feed, and the licensing lines.

Lawrence Arya · June 5, 2026
PayPay UI Clone in React Native: Japan's QR Super-App: the App Store logo on a glass tile over a blue gradient with bubbles
Guides 5 min read

PayPay UI Clone in React Native: Japan's QR Super-App

How to build a PayPay-style payment UI in React Native: the dual code screen, merchant-scan flow, cashback moments, and super-app grid, honestly framed.

Lawrence Arya · June 5, 2026
iDEAL Bank Selector UI for iOS: The Right Pattern: a vivid neon 3D App Store icon on an orange, pink and blue gradient
Guides 5 min read

iDEAL Bank Selector UI for iOS: The Right Pattern

The iDEAL bank selector is a redirect picker, not a card form. Here is how to build it on iOS, where the bank list comes from, and the iDEAL 2.0 change to watch.

Lawrence Arya · June 4, 2026