Skip to content

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 sends settlement.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_fee returns 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:

  1. 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.
  2. The operator transfers through a real bank and records the bank's transaction number → paid (or rejects it and the hold goes back).
  3. 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 «удахгүй».