Wire Docs

Idempotency

Мутаци хийдэг хүсэлтийг давхардал үүсгэхгүйгээр аюулгүй дахин оролд.

Сервер хүсэлтийг боловсруулсны дараа сүлжээний дуудлага бүтэлгүйтэж болно. Дахин оролдлогыг аюулгүй болгохын тулд Wire нь мутаци хийдэг POST хүсэлтэд idempotency key дэмждэг.

Idempotency-Key нь PaymentIntent болон checkout session үүсгэхийг оруулаад мутаци хийдэг POST бүрд заавал шаардлагатай.

curl https://api.wire.mn/v1/payment_intents \
  -H "Authorization: Bearer sk_live_..." \
  -H "Idempotency-Key: order-1001" \
  -d amount=50000 -d currency=MNT

Хэрхэн ажилладаг вэ

  • Сервер эхний хүсэлтийн үр дүнг таны key-ийн дор хадгална.
  • Ижил key-г дахин илгээвэл анхны хариуг буцаана — давхардсан object үүсэхгүй.
  • Логик үйлдэл бүрд давтагдашгүй, тогтвортой key ашигла (жишээ нь захиалгын id). Жинхэнэ шинэ үйлдэлд шинэ UUID үүсгэ.

SDK ашиглалт

pi, err := client.PaymentIntents.Create(ctx, &wire.PaymentIntentCreateParams{
	Amount:         50000,
	Currency:       "MNT",
	IdempotencyKey: "order-1001",
})
pi = client.payment_intents.create(
    amount=50000, currency="MNT", idempotency_key="order-1001",
)
const pi = await wire.paymentIntents.create({
  amount: 50000,
  currency: "MNT",
  idempotencyKey: "order-1001",
});

Энэ хуудсанд