Lewati ke konten

Penagihan & Pengembalian Dana

Penagihan realtime dihitung per produk, per pengenal. Sebuah panggilan mereservasi dana di muka, lalu menyelesaikannya setelah setiap produk yang dipilih memiliki hasil.

Saat panggilan diterima, platform mereservasi jumlah harga per pemeriksaan dari produk yang dipilih. Belum ada yang ditagih. Saat hasil kembali, setiap entri diselesaikan sendiri:

  • entri yang ditagih mempertahankan reservasinya
  • entri yang dikembalikan dananya mengembalikannya ke saldo Anda

Tiga total dalam respons menggambarkan penyelesaian tersebut:

FieldArti
total_reservedDireservasi saat panggilan diterima
total_chargedBenar-benar ditahan
total_refundedDikembalikan ke saldo Anda

Ketiganya selalu seimbang: total_reserved = total_charged + total_refunded.

Apa yang ditagih, apa yang dikembalikan dananya

Section titled “Apa yang ditagih, apa yang dikembalikan dananya”
Hasilbilling_statusArti
valid — pengenal terdaftarchargedJawaban nyata dihasilkan
invalid — pengenal tidak terdaftarchargedJawaban nyata dihasilkan
unknown — pemasok tidak mengembalikan jawaban konklusifrefundedTidak ada jawaban; hasil yang tidak konklusif tidak pernah ditagih
Timeout penyediarefundederror_code: provider_timeout
Slot kanal atau pengguna tidak tersediarefundederror_code: channel_busy / user_busy
Perlindungan konkurensi pada fakta bersamarefundederror_code: fact_refresh_busy
Pemasok gagal melakukan pemeriksaanrefundederror_code: realtime_failed
Cache hasil tidak tersediarefundederror_code: fact_cache_unavailable

Hit cache tetap ditagih. Entri cached: true adalah jawaban nyata yang dihasilkan pemeriksaan sebelumnya dan disimpan; tagihannya mencerminkan jawaban, bukan perjalanan bolak-baliknya. Hanya hasil unknown dan gagal yang dikembalikan dananya.

Karena setiap entri diselesaikan secara terpisah, satu panggilan bisa memuat kedua hasil. Hal itu dilaporkan sebagai status: partial_succeeded — HTTP tetap 200. Jangan pernah menganggap 200 berarti “semuanya berhasil”:

  1. baca status
  2. untuk setiap entri, baca billing_status dan error_code

Nilai status: succeeded (setiap entri ditagih), partial_succeeded (campuran), failed (tidak ada entri yang menghasilkan jawaban yang bisa ditagih).

Panggilan membutuhkan saldo yang cukup untuk reservasi penuh. Jika kurang, panggilan gagal dengan 402 insufficient_balance sebelum produk apa pun dihubungi — tidak ada yang direservasi, tidak ada yang ditagih.

Saldo itu sendiri tersedia dari GET /v1/balance. Lihat Saldo akun.

Tidak ada langkah pengajuan pengembalian dana. Entri yang dikembalikan dananya diselesaikan kembali ke saldo Anda sebagai bagian dari panggilan yang sama, dan respons yang Anda terima sudah mencerminkan angka akhir.