QR collection
Receive a Bre-B payment from a payer scanning your QR code.
Bre-B is Colombia's interbank instant-payment scheme — a real-time rail similar to Brazil's Pix or India's UPI that lets any participant bank or licensed entity send and receive funds 24/7 in seconds. A QR collection is the flow your business runs when you want a customer to pay you over Bre-B: you generate a QR code that encodes a payment instruction, the customer scans it from their banking app, their bank submits the transfer, and Mono notifies you when the funds arrive.
This flow is the payin half of Bre-B Participant. Use it for in-person checkout, kiosk top-ups, donation pages, or any moment when the payer initiates a bank-to-bank payment using their phone.
This page is a flow scaffold and will be expanded with the QR generation request, the EMVCo payload format, the confirmation webhook, common errors, and a sandbox walkthrough.
Before you start
You will need:
- A Bre-B participant account with Mono and OAuth client credentials. See Authentication.
- A registered tenant account that will receive the funds.
- A webhook endpoint that can receive collection events and verify their signature — see Webhook signatures.
- An idempotency key per QR generation request.
Sequence overview
- Generate a collection — your backend asks Mono for a QR encoding the amount, currency, and a reference you control.
- Display the QR — your frontend or terminal renders the EMVCo payload as a scannable code.
- Customer pays — the payer scans the QR with their banking app and authorizes the transfer.
- Receive confirmation — Mono fires a webhook to your endpoint with the final result, signed with HMAC-SHA256.
- Reconcile — your system credits the order or releases the goods.
Steps
The full step-by-step (with curl, Node.js, and Python examples for QR generation, verification, and reconciliation) is pending. Until it is published, see:
- The Bre-B participant API reference for the collection endpoints.
- Webhook signatures for verifying the confirmation event.
- Webhook payloads for the event envelope and payload schemas.
Next steps
- Outgoing transfer — the payout counterpart of this flow.
- Sandbox: collections — simulate a customer payment without involving a real bank.
- Webhook payloads — the event you will receive on a successful collection.