Lewati ke konten utama

Mencocokkan pembayaran dengan tagihan

Ikhtisar

Dalam sebagian besar kasus, pembeli membayar persis jumlah yang tertera di tagihan ke dompet kripto Anda. Namun kadang-kadang pembeli keliru dan membayar bukan jumlah yang direservasi. Dalam kasus itu, layanan tidak dapat otomatis mencocokkan pembayaran dengan tagihan dan menandai tagihan sebagai dibayar. Jika ini terjadi, Anda sebagai merchant dapat mencocokkan pembayaran dengan tagihan secara manual, asalkan Anda yakin pembayaran mana yang Anda harapkan. Anda dapat melakukannya di dasbor atau lewat API.

Syarat pencocokan

Pencocokan berhasil hanya saat semua syarat terpenuhi sekaligus:

  1. Status tagihanunpaid atau expired. Tagihan yang dibatalkan dan yang sudah dibayar tidak dapat dicocokkan. Pembatalan tidak dapat dibatalkan kembali.
  2. Pembayaran belum tercocokkan dengan tagihan lain. Satu pembayaran hanya dapat terikat pada satu tagihan.
  3. Pembayaran masuk ke dompet yang terlibat dalam tagihan ini.
  4. Pembayaran berada dalam jendela pembayaran yang tersedia—24 jam sebelum dan 24 jam sesudah pembuatan tagihan. Pembayaran yang masuk sebelum tagihan dibuat dapat dicocokkan; yang di luar jendela tidak bisa.

Jika tagihan milik proyek lain dan kunci dibatasi pada satu proyek, metode membalas dengan Restricted project. Jika syarat lain mana pun gagal, kembali kesalahan umum tanpa menyebut alasan—periksa syaratnya di sisi Anda.

Apa yang terjadi setelah pencocokan

  • Tagihan berpindah ke Dibayar (Paid).
  • Notifikasi keluar ke email, bot Telegram, dan Webhook URL—sama seperti pada pencocokan otomatis.
  • Jumlah tagihan invoice.amountFiatUSD ditimpa dengan jumlah yang benar-benar diterima, dikonversi ke USD dengan kurs pada saat pencocokan. Jumlah asli di invoice.amountFiat tidak berubah.
  • Biaya layanan dihitung ulang menurut tarif proyek atas jumlah yang Anda terima. Pada lebih bayar, biaya lebih tinggi daripada yang dihitung saat pembuatan tagihan; pada kurang bayar, lebih rendah.

Permintaan

curl -X POST https://api.bitsby.app/invoices/bindPayment \
-H "Authorization: Token MSvL2ltaDZdWVjmZURURMVWhqSJLT2NURjhL2Fla1Z1T1IxQTltKs1T3Ay" \
-F "invoiceId=ade9550d-3dc7-4fd3-b94e-3b4c12aaaa0c" \
-F "paymentId=a4c9e2ee-9a03-43e5-a1a1-00caf679d16a"

Parameter permintaan

ParameterTipe dataDeskripsiContohWajib?
invoiceIdUUIDID tagihan dalam format UUIDade9550d-3dc7-4fd3-b94e-3b4c12aaaa0cya
paymentIdUUIDID pembayaran dalam format UUIDa4c9e2ee-9a03-43e5-a1a1-00caf679d16aya

Contoh respons

{
"result":"success",
"data":"Invoice binded to payment"
}