Test ба live¶
Хоёр орчин нэг апп дотор. Credential-ийн орчин нь intent-ийн
livemode-ыг шийднэ; өгөгдөл хэзээ ч холилдохгүй.
1. Орчныг юу шийдэх¶
| test | live | |
|---|---|---|
| Түлхүүр (client id) | gk_test_… (эсвэл анхдагч mapp_test_…) |
gk_live_… (эсвэл анхдагч mapp_…) |
| Intent | livemode: false |
livemode: true |
| Мөнгө | хөдлөхгүй — дүн үр дүнг шийднэ | хүний Gerege Wallet данснаас барьцаа → capture |
| Хэзээ ажиллах | бүртгэсэн мөчөөс (ноорог апп-д ч) | апп батлагдсаны дараа л (өмнө нь 401 invalid_client) |
| Хэн төлж чадах | апп-ыг бүртгэсэн хүн, тест хэрэглэгчид | хэн ч (апп-ын min_age / requires_verified-ийн дагуу) |
| Payout данс, core banking | шаардахгүй | шаардана (409 payouts_not_configured, 503 payments_unavailable) |
| Webhook endpoint | орчин бүрт тусдаа (≤ 5), livemode: false |
орчин бүрт тусдаа (≤ 5), livemode: true |
Тооцоо (/settlements) |
хоосон / 404 |
✓ |
Нэг түлхүүр нэг орчны intent, event-ийг л хардаг: test түлхүүрээр live intent-ийг уншихад 404. Test түлхүүр
бүртгэлд бичих scope (terminals:write, sub_merchants:write, payout_links:write, webhooks:write) хэзээ ч авахгүй.
2. Test-ийн дүн¶
Confirm-ийн үр дүнг дүнгийн сүүлийн хоёр орон шийднэ:
| Дүн | Үр дүн |
|---|---|
…01 (жишээ 3501) |
failed, failure_code: "test_declined" |
…02 (жишээ 3502) |
canceled |
бусад, automatic |
succeeded |
бусад, manual |
requires_capture → таны capture / cancel |
Буцаалт test-д шууд succeeded. Тест хэрэглэгч (≤ 50, байгууллагын идэвхтэй гишүүд), консолын тест intent, webhook-ийн
хүргэлт/дахин илгээх/webhook.test: Хөгжүүлэгчийн sandbox.
3. Хоёр орчинд нэг бүртгэл¶
Апп, терминал, дэд худалдагч нь хоёр орчинд нэг бүртгэл — тусдаа «test терминал» гэж байхгүй. Тиймээс:
- Бүртгэлд бичих (терминал, дэд худалдагч үүсгэх/засах, payout холболт хүсэх) нь зөвхөн live түлхүүр эсвэл
консол; test түлхүүр уншина л —
403 live_only. Алдагдсан sandbox secret бодит машины эзэмшигчийг сольж, live мөнгийг өөр тийш чиглүүлэх ёсгүй. Sandbox-д бүртгэлийг консолоос хийнэ. - Терминалд нээлттэй сагс орчин бүрт нэг: test сагс live машиныг хаахгүй.
- Intent, refund, event, тооцоо нь орчноороо тусдаа.
4. Апп-ын төлөв ба live болох¶
Хоёр тусдаа төлөв: review (draft → in_review → approved | rejected, suspended) ба status (draft,
active ⇄ maintenance, disabled).
draft ──submit──▶ in_review ──approve──▶ approved (live түлхүүр ажиллана, хүмүүст харагдана)
▲ │
└──── засна ◀── rejected approved ──suspend (оператор)──▶ suspended (бүх зүйл зогсоно)
- Submit (
POST /dev/apps/{id}/submit): хуулийн хуудсууд (privacy, terms, support — https бол 200), live secret, webhook URL (payments-тэй бол), mini app-д шалгагдсан manifest. Дутуу бол400 not_ready+details[]. Review-ийн үед апп царцна (409 locked_for_review). - Оператор бизнесийг шалгаж (одоогоор гэрээ, KYB-ийн бичиг баримтыг гараар), батлаад payout дансыг тохируулна.
- Төлөв өөрчлөгдөх бүрт
app.status_changedwebhook. suspended— нээгдэхгүй, бүх token хүчингүй, credential татгалзана.
Самбараас өөрөө явуулах live-ийн алхмууд — байгууллагын төлөөлөгч гэрээнд eID-ээр гарын үсэг зурах, бизнесийн
профайл (KYB), go-live checklist, хязгаар (tier), live түлхүүрийг шинэ API-аар (дахин нэвтрэлттэй; одоо
POST /dev/apps/{id}/credentials-ээр) — «удахгүй». Хуулийн
этгээдгүй хувь хүн test-ийг бүхэлд нь ашиглана (sandbox байгууллага — «удахгүй»); live нь байгууллага шаардана.