Түгээмэл асуулт¶
Интеграц эхлэхээс өмнө ихэвчлэн асуудаг асуултууд, богино хариу ба дэлгэрэнгүй хуудасны холбоостой.
Ерөнхий¶
Android дээр ажиллах уу?¶
Одоогоор үгүй. Gerege App-ын mini app ба төлбөр iOS (iPhone, iPad) дээр ажиллана; Android хувилбарын хөгжүүлэлт түр зогссон. Таны backend, API, webhook хоёр платформд ижил — Android гарахад юу ч өөрчлөхгүй.
Хүн QR эсвэл sticker-ийг юугаар уншуулах вэ?¶
Gerege App (iOS build 122+)-ын QR товч (дотроо «NFC уншуулах»), эсвэл утасны камер / NFC-ээр https://geregeapp.mn/pay/…
холбоосыг уншуулахад Gerege App нээгдэж (Universal Link) төлөх цонх гарна. Апп суугаагүй утсанд, компьютерт нийтийн
/pay хуудас нээгдэнэ — компьютер дээр QR харуулж утсаар уншуулна. App Clip — «удахгүй» (App Clip).
Картаар төлүүлж болох уу?¶
Үгүй. Хүн Gerege Wallet-ийн үлдэгдлээс төлнө. Карт, бусад банкны апп-аар төлөх зам байхгүй.
Ямар валют?¶
Зөвхөн MNT, бүхэл төгрөг (45000 = 45 000₮). Мөнгөн дүн бүр бүхэл тоо.
Нэг төлбөрийн дүн хэд хүртэл?¶
100 – 50 000 000₮. Оператор апп тань нэг төлбөрийн дээд хязгаарыг (max_amount) үүнээс бага тогтоож болно — хэтэрвэл
400 validation_error (amount). Хүний дансны гүйлгээний хязгаар тусдаа — хэтэрвэл хүний талд limit_exceeded
(Хязгаар).
Sandbox-ын өгөгдөл live руу шилжих үү?¶
Үгүй. Test ба live өгөгдөл тусдаа; live болоход зөвхөн түлхүүр солигдоно. Терминал, дэд худалдагч хоёр орчинд нэг бүртгэлтэй тул дахин бүртгэх хэрэггүй (Sandbox).
Банк ба мөнгө¶
Өөр банкнаас хэтэвч рүү шилжүүлж болох уу? Банкны код 0098 гэж юу вэ?¶
Шууд — үгүй. Gerege Wallet-ийн данс 0098 банкны кодтой IBAN-тай боловч энэ код Монголбанкнаас олгогдоогүй — өөр
банк тэр IBAN руу төлбөр явуулж чадахгүй. Хэтэвч цэнэглэх нь операторын бодит банкны данс руу шилжүүлж, оператор
дансанд оруулах замаар; хэтэвчнээс бодит банк руу гаргах нь хүсэлт гаргаж, оператор гараар шилжүүлэх замаар
(Банк руу гаргах). Албан ёсны код олгогдтол interbank шилжүүлэг ирэхгүй.
Орлого маань хэзээ, хаана ирэх вэ?¶
Оператор апп тань тооцоог асаагаагүй бол (ихэнх апп-д одоогоор ийм) capture бүр шууд таны payout данс руу орно.
Асаасан бол төлбөрүүд эхлээд апп-ын клиринг рүү орж, хуваарийн дагуу (анхдагч нь ажлын өдөр 10:00, өмнөх өдөр хүртэлх
төлбөрүүд) шимтгэлээ хасаад payout руу шилжинэ; settlement.paid webhook ирнэ (Тооцоо).
Шимтгэл хэд вэ?¶
Оператор апп бүрт төлбөрийн дүрэм тогтооно (хувь + тогтмол дүн, доод/дээд хязгаар). Дүрэмгүй апп-д шимтгэл 0. Өөрийн апп-ын дүрмийг консолоос харна (Шимтгэл).
Payout дансаа өөрөө тохируулж болох уу?¶
Апп-ын payout дансыг оператор тохируулна (гэрээ, шалгалтын дараа). Дэд худалдагчийн payout дансыг та API-аар хүсч, данс эзэмшигч Gerege App-д өөрөө батална (Payout данс).
Төлбөр¶
Хэсэгчилж capture хийж болох уу?¶
Одоогоор үгүй — «удахгүй». Бүтэн дүнгээр capture хийгээд, гараагүй хэсгийг буцаана (POST …/refunds {amount}).
Буцаалт хэр удах вэ?¶
Ledger хариулмагц шууд — хариу 201 succeeded, хүний хэтэвчинд тэр дор орно. Ledger түр хариулаагүй бол 202
pending, платформ ижил key-ээр өөрөө дуусгаад refund.succeeded эсвэл refund.failed илгээнэ. Буцаалтыг
төлбөрөөс хойш 90 хоногийн дотор хийнэ (Буцаалт).
409 terminal_busy яагаад?¶
Терминалд (тухайн орчинд) claim хийгдээгүй нээлттэй intent нэг л байна. Хариуны payment_intent нь тэр intent-ийн
id — түүнийг цуцлаад (POST …/cancel) шинэ сагсаа үүсгэнэ. Хугацаа нь өнгөрсөн intent-ийг платформ өөрөө дуусгаад
дахин оролдоно.
failed төлбөрийн захиалгыг хаах уу?¶
Үгүй. failed нь дахин төлөгдөж болох төлөв — хүн өөр данс сонгоод дахин төлж болно. Захиалгаа canceled эсвэл
expired үед хаана (Payment intent).
Хүний нэрийг яаж авах вэ?¶
Худалдагч авахгүй — төлбөр бүрт санамсаргүй user_ref л ирнэ. Mini app хүний зөвшөөрсөн scope-оор GET /me-ээс
pairwise sub, (scope-той бол) имэйл, утас авна; нэр, регистр, данс хэзээ ч ирэхгүй
(Mini app-ын нээлт ба token).
Тамхи, архи зарж болох уу?¶
Насны шалгалт машин / таны талд үлдэнэ; хүний насны доод хязгаарыг min_age (13–21)-аар тавьж болно — eID-аар
баталгаажаагүй хүн verification_required, нас хүрэхгүй бол age_restricted. description-д тамхи, согтууруулах
ундааны бүтээгдэхүүний нэр хэзээ ч бичихгүй — Gerege App ерөнхий төлбөрийн хэрэгсэл (Аюулгүй байдлын checklist).
Түлхүүр ба webhook¶
Live түлхүүр маань яагаад 401 invalid_client өгөөд байна вэ?¶
Live түлхүүр апп review-ээр батлагдсаны дараа л ажиллана; апп түдгэлзсэн эсвэл идэвхгүй бол test, live хоёулаа
татгалзагдана. Түлхүүр хүчингүй болсон, хугацаа нь дууссан, солигдоод давхцал нь өнгөрсөн бол мөн адил 401
(ялгаагүй) — консолын «Түлхүүр»-ээс төлвийг нь шалгана. Анхдагч түлхүүрийн secret-ийг сольсон бол хуучин нь тэр агшинд
ажиллахаа больсон. Client id нь gk_live_ / mapp_ (live), gk_test_ / mapp_test_ (test) — хос нь таарч байгаа
эсэхийг шалгана. Scope дутвал 401 биш 403 insufficient_scope (required_scope-той).
Live API түлхүүрийг консолоос үүсгэхэд «дахин нэвтэрнэ үү» гэж яагаад гарна вэ?¶
Live түлхүүр үүсгэх, солих, IP-г нь өөрчлөх (мөн анхдагч түлхүүрийн live secret) нь miniapp.keys.live эрх ба
сүүлийн 10 минутын нэвтрэлт шаардана: 403 fresh_sign_in_required ирвэл консол нэвтрэх цонх гаргаж, дараа нь
хүсэлтийг давтана. 503 fresh_sign_in_unavailable бол суулгац тэр мөчид шалгаж чадсангүй — дараа дахин. Sandbox
байгууллагад live түлхүүр огт алга (409 sandbox_only) (Аюулгүй байдлын checklist).
Webhook хоёр удаа ирж болох уу?¶
Тийм — хүргэлт at-least-once. Gerege-Event-Id (body-ийн id)-аар давхардлыг арилгана; дараалал ч баталгаагүй
(Хүргэлт ба давталт).
Webhook-гүйгээр болох уу?¶
Худалдагч ба payments scope-той mini app-д идэвхтэй live webhook endpoint заавал (submit ба батлалт шаардана;
endpoint №1 эсвэл нэмсэн аль нэг нь — унтраасан, автоматаар унтарсан нь тооцогдохгүй). Гэхдээ зөвхөн webhook-д бүү
найд — алдсан event-ийг Events API-аас (GET /events, 30 хоног) татаж, эсвэл
GET /payment-intents-ээр тогтмол тулгана (Тулгалт).
Test ба live event-ийг тусдаа URL руу илгээж болох уу?¶
Тийм. Endpoint нь орчин бүрт тусдаа (≤ 5), өөрийн secret, event-ийн шүүлтүүртэй — test endpoint-д live event хэзээ ч очихгүй. Апп-ын анхны webhook URL (endpoint №1) л хоёр орчинд хамт (Тойм).