Hosted checkout
Wire-hosted хуудсаар төлбөр цуглуул — QR код, банкны deeplink, авто-цуцлалт.
Hosted checkout бол төлбөр хүлээн авах хамгийн хурдан арга. Та PaymentIntent
үүсгэж, түүнд checkout session нээгээд, худалдан авагчийг pay.wire.mn дээрх
Wire-hosted хуудас руу чиглүүлнэ. Хуудас нь QR код, банкны deeplink-ийг харуулж,
төлбөргүй нэхэмжлэхийг автоматаар цэвэрлэдэг.
Урсгалын тойм
- PaymentIntent үүсгэ —
allowed_operators-той (таны акаунтад идэвхжсэн, худалдан авагчийн төлж болох операторын id-ууд — test mode-д["sandbox"]). - Тэр PaymentIntent-д checkout session үүсгэ. Хариунд hosted
urlорно. - Худалдан авагчийг
pay.wire.mn/c/{token}руу чиглүүл. - Худалдан авагч QR эсвэл банкны deeplink-ээр төлнө.
- Та баталгаажуулсан
payment_intent.succeededwebhook-оос үр дүнг баталгаажуул.
1. PaymentIntent үүсгэх
pi, err := client.PaymentIntents.Create(ctx, &wire.PaymentIntentCreateParams{
Amount: 50000, // 500.00 MNT
Currency: "MNT",
AllowedOperators: []string{"sandbox"}, // live mode-д таны акаунтын операторууд
IdempotencyKey: "order-1001",
})pi = client.payment_intents.create(
amount=50000, # 500.00 MNT
currency="MNT",
allowed_operators=["sandbox"], # live mode-д таны акаунтын операторууд
idempotency_key="order-1001",
)const pi = await wire.paymentIntents.create({
amount: 50000, // 500.00 MNT
currency: "MNT",
allowed_operators: ["sandbox"], // live mode-д таны акаунтын операторууд
idempotencyKey: "order-1001",
});2. Checkout session үүсгэх
Checkout session-уудыг REST API-аар үүсгэнэ. Мутаци хийдэг бусад бүх POST-ийн
адил Idempotency-Key дамжуул.
curl https://api.wire.mn/v1/checkout/sessions \
-H "Authorization: Bearer sk_live_..." \
-H "Idempotency-Key: sess-order-1001" \
-d payment_intent=pi_123 \
-d success_url=https://yourshop.mn/orders/1001
# => {
# "id": "cs_...",
# "object": "checkout.session",
# "url": "https://pay.wire.mn/c/cs_token",
# "payment_intent": "pi_123"
# }3. Худалдан авагчийг чиглүүлэх
Худалдан авагчийг буцаасан url руу илгээ:
https://pay.wire.mn/c/{token}Hosted хуудас дараахыг харуулна:
- худалдан авагчийн дэмжигдсэн банкны апп-аар уншуулах QR код;
- мобайл дээр худалдан авагчийн банкны апп-ыг шууд нээх банкны deeplink.
4. Авто-цуцлалт
Төлбөргүй нэхэмжлэхүүд TTL дуусмагц автоматаар цуцлагдана, ингэснээр орхигдсон checkout-ууд унжсан intent үлдээхгүй. PaymentIntent цуцлагдсан төлөв рүү шилжиж, төлбөр хүлээн авахаа болино.
5. Webhook-оор баталгаажуулах
Худалдан авагч төлбөл Wire payment_intent.succeeded-г илгээнэ. Гарын үсгийг
шалгаж захиалгыг биелүүл — Webhooks гарын авлага-г үз.
Зөвхөн redirect дээр захиалгыг бүү биелүүл.
Туршиж байна уу? sk_test_ key-г allowed_operators: ["sandbox"]-той
ашиглаж, magic inputs-аар бодит мөнгө хөдөлгөхгүйгээр
амжилт ба алдааг симуляц хий.