Тайлан (statements)¶
Тайлан нь апп-ын (эсвэл дэд худалдагчийн) мөнгөний хөдөлгөөн бүрийг нэг мөрөөр, Улаанбаатарын огноогоор гаргана — сарын
хаалт, нягтлан бодох бүртгэл, Excel-д. Уншихад ~6 минут. Хэрэгтэй: консолд miniapp.finance эрхтэй гишүүн, эсвэл
server-ээс settlements:read scope-той API түлхүүр.
Хаанаас татах¶
| Хэн | Зам | Нэвтрэлт |
|---|---|---|
| Консол | GET /api/v1/miniapp/dev/statements?app_id=… |
нэвтэрсэн сесс, miniapp.finance (эсвэл админ); app_id заавал — тайлан нэг апп-ынх |
| Таны backend | GET /api/v1/miniapp/statements |
Basic (зөвхөн API түлхүүр — хүний token биш), scope settlements:read; апп ба орчин нь түлхүүрийнх |
curl -sS "https://geregeapp.mn/api/v1/miniapp/statements?from=2026-10-01&to=2026-10-31&format=csv" \
-u "$GEREGE_CLIENT_ID:$GEREGE_CLIENT_SECRET" -o statement-2026-10.csv
| Параметр | Утга |
|---|---|
from, to |
YYYY-MM-DD, Улаанбаатарын өдөр, хоёулаа багтана. Анхдагч: өнөөдөр хүртэлх сүүлийн 30 өдөр; ≤ 366 өдөр; from > to эсвэл буруу хэлбэр → 400 invalid_range |
sub_merchant_id |
орхивол бүх урсгал (апп-ын өөрийнх ба дэд худалдагч бүрийнх); хоосон (sub_merchant_id=) бол зөвхөн апп-ын өөрийн урсгал; UUID бол тэр дэд худалдагчийнх |
format |
json (анхдагч) эсвэл csv; өөр → 400 invalid_format |
environment |
зөвхөн консолд: live (анхдагч) эсвэл test. Server-д түлхүүрийн орчин — test түлхүүр sandbox-ын тайланг уншина |
Нэг тайлан ≤ 100 000 мөр; илүү бол 422 statement_too_large (max_rows) — хугацааг хуваа. Rate limit: server
60/мин, консол 30/мин. Бусад алдаа — Алдааны код-ын «Самбар, тайлан, симуляц» хэсэг.
Мөрийн төрлүүд¶
Тайлан нь урсгал бүрийн клирингийн үлдэгдлийг (тооцоонд хүлээж буй мөнгө) дагана: balance_after нь тухайн
урсгалын мөрийн дараах үлдэгдэл, net нь түүний өөрчлөлт.
type |
Хэзээ | gross |
fee |
net |
|---|---|---|---|---|
captured |
төлбөр апп-д орсон (confirmed_at) |
+дүн | 0 | +дүн |
refunded |
буцаалт амжилттай болсон | −дүн | 0 | −дүн |
fee |
төлөгдсөн тооцооны шимтгэл (буцаасан шимтгэл бол +) | 0 | −шимтгэл | −шимтгэл |
settlement_paid |
мөнгө payout данс руу гарсан | 0 | 0 | −төлсөн |
fee_carried |
тооцоо шимтгэлээ дараагийнх руу шилжүүлсэн (авах мөнгө байгаагүй) | 0 | −дүн | 0 |
clearing_carried |
тооцоонд багтаагүй буцаалтын илүүдэл дараагийнх руу | −дүн | 0 | 0 |
- Тооцоо асаагүй апп (өнөөдөр бүгд), тооцоо асаахаас өмнөх төлбөр ба test горимд мөнгө шууд payout данс
руу очдог тул
capturedбүрийн ард тэр дор ньsettlement_paid(−дүн), payout данснаас гарсан буцаалт бүрийн ардsettlement_paid(+дүн) мөр гарна — урсгалын үлдэгдэл 0 хэвээр. - Тайланд зөвхөн төлөгдсөн (
paid) тооцоо орно;pending,failed, хүчингүй болсон тооцоо — үгүй. - Мөрүүд цагаар, дараа нь
captured→refunded→ тооцооны дарааллаар эрэмбэлэгдэнэ.
JSON¶
{
"object": "statement",
"app_id": "2c4b8e1a-7d3f-4a5b-9c6d-1e2f3a4b5c6d",
"sub_merchant": null,
"environment": "live",
"from": "2026-10-01",
"to": "2026-10-31",
"timezone": "Asia/Ulaanbaatar",
"currency": "MNT",
"streams": [{"sub_merchant": null, "opening_balance": 0, "closing_balance": 0}],
"totals": {"captured": 45000, "refunded": 0, "fees": 0, "settlement_paid": 45000, "net": 0},
"data": [
{"date": "2026-10-22", "at": "2026-10-22T08:59:55Z", "type": "captured", "payment_intent": "pi_4fQ2mX8kLp0aZr7TbN3cVw9E",
"refund": null, "settlement": null, "sub_merchant": null, "reference": "order_8812",
"gross": 45000, "fee": 0, "net": 45000, "balance_after": 45000, "currency": "MNT"},
{"date": "2026-10-22", "at": "2026-10-22T08:59:55Z", "type": "settlement_paid", "payment_intent": "pi_4fQ2mX8kLp0aZr7TbN3cVw9E",
"refund": null, "settlement": null, "sub_merchant": null, "reference": "order_8812",
"gross": 0, "fee": 0, "net": -45000, "balance_after": 0, "currency": "MNT"}
]
}
streams[]— урсгал бүрийн эхний (opening_balance,fromөдрийн 00:00-д) ба эцсийн үлдэгдэл. Урсгал бүртopening_balance + Σ net = closing_balance.totals—captured(Σ gross +),refunded(Σ буцаалт, эерэг тоогоор),fees,settlement_paid,net.atнь UTC,dateнь Улаанбаатарын огноо.
CSV¶
Баганууд тогтмол (шинэ талбар нэмэгдэхэд Excel-ийн томьёо эвдрэхгүй):
date,type,payment_intent,refund,settlement,sub_merchant,reference,gross,fee,net,balance_after,currency
- UTF-8 BOM-той — Excel монгол текстийг зөв нээнэ; таслалаар тусгаарлагдана; тоо бүхэл ₮.
- Файлын нэр
statement-<slug>-<орчин>-<from>-<to>.csv. =,+,-,@-ээр эхэлсэнreference-ийн өмнө'нэмэгдэнэ (Excel томьёо болгож ажиллуулахгүйн тулд).
Консол мөн төлбөрийн жагсаалтыг CSV-ээр өгнө (GET /api/v1/miniapp/dev/payments?format=csv, miniapp.finance) —
intent бүр нэг мөр (Payment intent-ын «Самбараас» хэсэг).
Тулгах¶
- Сар бүр
from/to-г сарын эхний, сүүлийн өдрөөр тайлан татна. settlement_paidмөрүүдийн нийлбэрийг payout дансны орлоготой тулгана; тооцоо асаалттай болsettlementбүрийн id-аарGET /settlements/{id}-ийнintents[]/refund_items[]мөрүүдтэй (Тооцоо).reference-ээр өөрийн захиалгатай тулгана; дутуу байвалGET /payment-intents?reference=…(Тулгалт).