Ana içeriğe geç

Bekleyen odemeyi krediyle tahsil et (InvoicePaid)

POST 

/orders/:id/settle

Bekleyen (pending_payment / payment_failed) bir siparisin WHMCS faturasina bayi bakiyesinden odeme dener. Bayi WHMCS'inde musteri faturayi odeyince tetiklenir (InvoicePaid hook). Siparis aninda bakiye yetersizdiyse, bayi sonradan bakiye yukledikten sonra burada tahsil edilir → VPS kurulumu kuyruga girer (pending_provision).

Idempotent: Zaten odenmis (payment_applied=true) bir sipariste WHMCS'e hic dokunulmaz; already_applied=true ile mevcut durum doner. Idempotency-Key header'i opsiyoneldir; gonderilirse ayni anahtar ayni yaniti verir.

Esli zamanli tahsil: Ayni siparis icin baska bir tahsil suruyorsa 409 settle_in_progress (Retry-After 5) doner. ApplyCredit sonucu belirsiz kalan (transport hatasi) kayit 5 dakika sonra WHMCS fatura durumuyla cozulur: Paid ise odenmis sayilir, Unpaid ise yeniden denenir.

Sonuc durumlari (status):

  • pending_provision — kredi uygulandi, VPS kurulumu beklemede
  • pending_payment — bakiye hala yetersiz (notice=insufficient_credit), hemen tekrar denenebilir
  • payment_failed — WHMCS gecici hata (5xx); 5 dakika sonra tekrar dene
  • unknown_state / provision_failed — tahsil yapilmaz, already_applied=false

Izolasyon: Baska bayinin siparis id'si 404 order_not_found doner.

Request​

Responses​

Tahsil denemesi sonucu (basari, yetersiz veya zaten odenmis)