Choosing a flow¶
What you will do: decide in two minutes how your system takes a payment with Gerege App. There are four flows (
presentment); all of them are one payment intent, one webhook, one settlement — what differs is how the person reaches the payment.
1. Decision tree¶
Does your app open INSIDE Gerege App (a tile in the launcher)?
├─ Yes ──────────────────────────────────────────────▶ mini app · presentment "app"
└─ No — you are a merchant (kind "merchant"):
Where is the person?
├─ In your website / app, at checkout ────────────▶ "redirect" (send them to pay_url, back via return_url)
├─ In front of your screen (till, kiosk, POS) ────▶ "qr" (a new QR per basket)
└─ At a fixed spot (sticker, NFC, vending) ───────▶ "terminal" (the QR/NFC names the terminal, not the amount)
Many owners on one platform (every machine owned by someone else)? ──▶ + sub-merchants
Take the money only AFTER handing over (a machine dispenses, an order is prepared)? ──▶ + capture_method "manual"
2. Comparison¶
app |
redirect |
qr |
terminal |
|
|---|---|---|---|---|
| Who | mini app | web shop, mobile app | till, kiosk, POS, invoice | vending, NFC sticker, permanent QR |
| Creates the intent | the person's access token (Bearer) |
the app's client credentials (Basic) |
Basic |
Basic |
| How the person reaches it | bridge requestPayment |
pay_url (opens the app on a phone) |
the QR of pay_url on a screen |
the terminal's url (sticker QR, NFC) |
| When the person is known | at creation | at claim | at claim | at claim |
| Required field | — | return_url (its host in return_hosts) |
— | terminal_id |
user_ref |
pairwise sub, stable per app |
random per payment | random per payment | random per payment |
| Usual capture | automatic | automatic | automatic / manual | manual, capture_within 60–300 s |
| Start | Mini app | Pay with Gerege App | Quickstart | Terminal |
Gerege App (iOS)'s in-app QR button and NFC reader are in builds after TestFlight 121; scanning with the camera
(Universal Links) and the desktop /pay page are «удахгүй». Without a phone, play the person's step as in §7 of the
Quickstart.
3. Usual combinations¶
| Business | Flow | Note |
|---|---|---|
| Online shop | redirect |
order number = Idempotency-Key = reference; do not trust the return URL — check with GET |
| Café or shop till | qr |
a short expires_in (60–300 s) — a QR left on a screen must not be paid by someone else |
| Vending machine | terminal + manual |
dispensed → capture, not dispensed → cancel, no answer → released by itself |
| A network of machines with many owners | terminal + sub-merchants |
every owner approves their payout account in Gerege App |
| Kiosk hub (many services) | qr + sub-merchants |
every service provider is a sub-merchant |
| Invoices, utility bills | redirect (an SMS/e-mail link) or qr (on paper) |
expires_in is ≤ 1800 s today; long-lived invoices are «удахгүй» |
| A service inside Gerege App | app |
manifest, review, launcher |
4. Further¶
Concepts overview — whose each object is and what it connects to. Presentments and
claims — pay_url and how claims are protected.