Money flow¶
Where money goes from the person's account to your real bank account, who sets what, and when the fee is taken — as a merchant sees it.
1. The picture¶
The person's Gerege Wallet account
│ confirm → hold cancel / expiry → the hold goes back
▼
capture ─────────────┬──────────────────────────────────────────────┐
│ settlements off (default) │ settlements on (operator, per app)
▼ ▼
Your payout account (Gerege Wallet) Your clearing (a separate account in Gerege's ledger)
the full amount, at once │ on a schedule (e.g. weekdays 10:00, T+1)
▲ │ − the fee (the operator's rule)
└──────────────── settlement ◀─────────────────┘
│
Your payout account ┴─▶ withdrawal request ─▶ the operator transfers by a real bank ─▶ your bank account
With sub-merchants, a capture goes to that sub-merchant's approved payout account or clearing; settlements run separately for each (app, sub-merchant).
2. The payout account¶
- The app's payout account = the Gerege Wallet account your takings go to (a person's or an organisation's). An organisation's account lives in Gerege Wallet's organisation section (an admin opens it).
- The app's is set by the operator (after the agreement and the business checks); the developer sees only a masked
number (
payouts_configured,payout_account: "******0042"). An organisation's admin setting their own organisation's account is «удахгүй». - A sub-merchant's is approved by the account's holder in Gerege App (Payout links).
- No live intent without a payout (
409 payouts_not_configured).
3. Settlements¶
| Mode | Capture goes to | fee / net |
Refunds come from |
|---|---|---|---|
| Off (default) | the full amount straight to the payout account | null |
the payout account |
| On (operator, per app) | the app's clearing | fixed at capture | clearing first |
- A settlement moves money from clearing to payout on a schedule —
daily,weekdays,weekly:<day>,manual, Ulaanbaatar time, T+N. Each one sendssettlement.paid;GET /settlements(live). - Payments captured before settlements were switched on stay on the old path. There is no holdback.
- A refund the clearing cannot cover is
refund.failed,failure_code: "settlement_shortfall"; an excess carries to the next settlement. Covering it with a receivable is «удахгүй».
4. Fees¶
- The operator's payment rule, per app and versioned:
round_half_up(amount × bps / 10000) + fixed, within a minimum and maximum, never more than the payment. A rule in effect is never edited — a new version is made. - The fee is fixed at capture by the rule then in effect and never recomputed. A refund does not return the fee
(a rule with
refund_feereturns it in proportion). - No rule = no fee. Read your rule from the console:
GET /dev/apps/{id}/payment-rule. - With settlements off no fee is taken (
fee: null).
Every settlement field, the formula and examples: Mini app payments — settlements.
5. Withdrawing to a real bank¶
Gerege Wallet's bank code 0098 is not routable from other banks (not yet issued by the Bank of Mongolia) — so
interbank transfers neither reach nor leave a Gerege account. A withdrawal is a request + the operator:
- The account's holder (for an organisation's account, an admin) sends a withdrawal request from Gerege Wallet (amount, bank, account, holder's name; an SMS code for large amounts). The money is held on the account at once.
- The operator transfers through a real bank and records the bank's transaction number →
paid(or rejects it and the hold goes back). - The holder gets a «Money sent» notification in Gerege App.
A request can be canceled until the operator starts it. Amounts from 1,000₮; one holder has at most 3 open requests at once. Automatic payouts to a real bank on a schedule are «удахгүй».