IOSOR Panduan

Had API dari perintis ke pengeluaran: backoff tanpa membakar prepaid

Had perintis dan pengeluaran, backoff eksponen, keidempotenan, kunci sandbox versus pengeluaran, dan tetingkap replay webhook terhad — supaya retry tidak mengosongkan dompet prepaid.

429 bukan jemputan memukul API hantar sehingga sesuatu lulus. Pada prepaid, ribut retry ialah peristiwa dompet: OTP berganda, amaran bertindan, baris lejar tak berpasangan. Had wujud supaya produk, kejuruteraan, dan kewangan berkongsi satu siling. Dari perintis ke pengeluaran bukan «tanggalkan cap» — had berkontrak, backoff yang menghormati keidempotenan, kunci sandbox dan pengeluaran berasingan, dan tetingkap replay webhook yang tidak debit berganda. Lihat idempotensi, cuba semula dan wang.

IOSOR ialah prepaid white-label: panggilan diautentikasi, debit yang boleh dikorelasikan, ralat selamat klien yang tidak pernah mencurah muatan jenama asing.

Had melindungi prepaid, bukan pepijat

Had mengehad berapa intent diterima yang menghentam dompet setiap tetingkap — bukan berapa cubaan TCP pengimbang. Dokumentasikan tetingkap (setiap kunci, akaun, kelas destinasi), kod, dan Retry-After. Klien yang membaca 429 sebagai «cuba lebih kuat» berlari lawan kewangan. Eksport penolakan had di samping debit berjaya. Katalog live masih berhenti di siling terbit; in setup bukan sandbox tanpa had.

Backoff tanpa debit kedua: had dengan keidempotenan

Backoff eksponen tanpa kunci keidempotenan ialah bagaimana rangkaian goyah menjadi dua OTP. Kunci unik setiap intent perniagaan, bukan setiap cubaan TCP, dan mengembalikan hasil diterima yang sama dalam TTL jelas. Hantar semula pengguna ialah tindakan produk lain dengan had sendiri. Henti baki rendah terpakai: retry tidak boleh menembusi dompet kosong.

Had perintis versus pengeluaran

Kunci perintis harus lebih ketat: isipadu rendah, keterlihatan cepat, ralat murah. Had pengeluaran dikontrak untuk koridor yang anda benar-benar jalankan. Menaikkan siling ialah perubahan akaun dengan pemilik. Ujian beban milik kunci sandbox; kunci pengeluaran dalam soak membakar prepaid. Jangan janjikan QPS pengeluaran sementara koridor katalog in setup.

Kunci dan replay webhook dalam cutover yang sama

Had hantar tidak menyelamatkan jika pengguna webhook memproses DLR dua kali. Cutover: beku trafik sandbox, keluarkan kunci pengeluaran, arahkan webhook ke pengguna pengeluaran, sahkan tandatangan, hadkan tetingkap replay, kemudian satu intent sebenar. Panggil balik diulang jam 02:00 mestilah no-op, bukan debit kedua. Rahsia berasingan; jangan tampal pada tiket.

Bendera merah

  • «Retry hingga 200» tanpa kunci keidempotenan
  • 429 sebagai 200 lembut
  • Kunci pengeluaran dalam ujian beban atau URL webhook sandbox dalam pengeluaran
  • Tetingkap replay diukur minggu, atau panggil balik tidak ditandatangan «untuk perintis»
  • Hantar semula pengguna tercampur belanjawan auto-retry
  • Ralat klien mencurah kod mentah hulu

Mula dengan IOSOR

Tulis tetingkap had — per kekunci, akaun atau kelas destinasi — dan Retry-After yang akan anda hormati. Paksa 429, undur, kemudian cuba semula niat sama dengan Idempotency-Key sama. Ledger mesti tunjuk satu debit. Tukar kekunci kotak pasir kepada kekunci production sebelum menaikkan siling.

Inti IOSOR

Buat: anggap 429 sebagai jeda ber-Retry-After, bukan kejayaan lembut. Pasangkan setiap undur dengan kekunci asal supaya prabayar nampak satu niat diterima.

Jangan: naikkan had production pada kekunci ujian beban, atau tukul hingga 200 tanpa kekunci hingga dompet nampak penggunaan tambahan.

Adakah panduan ini membantu?

Panduan berkaitan