Business Flow - Payments & Charges
Payment, charge, checkout session ve refund süreçlerinin uygulama akışı.
Bu akış, canlı operasyonlarda tutarlılık ve izlenebilirlik sağlayacak şekilde tasarlanmıştır.
1) Payment oluşturma
Ödeme niyeti oluşturulur.
amount,currency,customer_id,metadatagibi alanlar set edilir.- Payment, confirm öncesi intent/prepare durumunda tutulur.
2) Payment confirm
Confirm adımında payment method ve payer identity verilerek ödeme başlatılır.
payment_methodzorunlu payload'dır.routing_strategyopsiyonel override olarak gönderilebilir.payer_identity(IP/user-agent vb.) fraud ve risk kararları için taşınır.
3) Charge üretimi
Confirm sonrası sağlayıcı denemesi charge kaydı ile izlenir:
- Hangi ödeme için deneme yapıldığı
- Tutarın ne kadar authorize/capture/refund olduğu
- Hangi rota ve hangi deneme sırasında sonucun üretildiği
4) Checkout Session akışı (alternatif giriş)
Checkout tabanlı akışta:
- Checkout oturumu oluşturulur.
- Token bazlı URL, ödeme yapacak kullanıcıya sunulur.
- Confirm adımıyla ödeme tamamlanır.
- Session gerektiğinde
payment_idile ödeme kaydına bağlanır.
PENDING -> PROCESSING -> COMPLETED/FAILED- Terminal durumlar:
COMPLETED,FAILED,CANCELLED,EXPIRED final_amountödeme başlamadan önce resolve edilmiş olmalıdır.
5) Refund akışı
- Refund,
chargeskaydı üzerinden ilerler. refundstablosundastatus,reason,amount,currencytutulur.- Charge üzerinde
refunded_amountalanı iade toplamını izler.
6) Operasyonel kapanış
- Merchant order state, sadece redirect sonucuna göre kapanmamalıdır.
- Sunucu tarafı payment/charge sorgusu veya webhook event'i ile final state doğrulanmalıdır.