Payments Akışı
Payment oluşturma, doğrulama, durum takibi ve operasyonel öneriler.
Temel ödeme oluşturma
const payment = await hsrcpay.payments.create({
amount: 15900,
currency: "TRY",
customer: {
email: "ayse@example.com",
},
metadata: {
cartId: "CART-1042",
},
});Ödeme durumları
Tipik yaşam döngüsü:
requires_payment_methodrequires_action(3DS vb.)processingsucceededexpired
Durum güncelleme yaklaşımı
- Kullanıcıyı senkron response ile bilgilendir.
- Nihai doğrulama için webhook event'ini kaynak olarak kabul et.
- Sipariş kapanışını yalnızca başarılı event alındığında tamamla.
Önerilen domain modeli
type OrderPaymentState = "pending" | "authorized" | "paid" | "requires_payment_method" | "refunded";Uygulama tarafında kendi ödeme durum haritanı API durumlarından türet; doğrudan 1
bağımlılık kurma.Hata durumları
4xx: istek doğrulama veya yetki problemi409: idempotency/replay çakışmaları5xx: geçici servis problemi, kontrollü retry gerekir