Khớp khoản thanh toán với hóa đơn
Tổng quan
Trong đại đa số trường hợp, người mua trả đúng số tiền ghi trong hóa đơn vào ví tiền mã hóa của bạn. Nhưng đôi khi người mua nhầm lẫn và trả khác với số tiền đã giữ chỗ. Khi đó, dịch vụ không thể tự động khớp khoản thanh toán với hóa đơn và đánh dấu hóa đơn đã thanh toán. Nếu điều này xảy ra, bạn với vai trò người bán có thể khớp khoản thanh toán với hóa đơn thủ công, miễn là bạn chắc chắn mình đang chờ khoản thanh toán nào. Bạn có thể làm việc này trong bảng điều khiển hoặc qua API.
Điều kiện khớp
Việc khớp chỉ thành công khi tất cả các điều kiện cùng thỏa mãn:
- Trạng thái hóa đơn —
unpaidhoặcexpired. Hóa đơn đã hủy và đã thanh toán không thể khớp. Việc hủy không thể đảo ngược. - Khoản thanh toán chưa khớp với hóa đơn khác. Một khoản thanh toán chỉ có thể gắn với một hóa đơn.
- Khoản thanh toán đến ví tham gia vào hóa đơn này.
- Khoản thanh toán nằm gọn trong cửa sổ thanh toán khả dụng — 24 giờ trước và 24 giờ sau khi tạo hóa đơn. Khoản thanh toán đến trước khi tạo hóa đơn có thể khớp; khoản ngoài cửa sổ thì không.
Nếu hóa đơn thuộc dự án khác và khóa bị giới hạn theo dự án, phương thức trả về Restricted project. Nếu bất kỳ điều kiện nào khác không thỏa, một lỗi chung trả về mà không nêu lý do — hãy kiểm tra các điều kiện ở phía bạn.
Điều gì xảy ra sau khi khớp
- Hóa đơn chuyển sang Đã thanh toán (Paid).
- Thông báo phát đi đến email, bot Telegram và Webhook URL — hệt như khi khớp tự động.
- Số tiền hóa đơn
invoice.amountFiatUSDbị ghi đè bằng số tiền thực nhận, quy đổi sang USD theo tỷ giá tại thời điểm khớp. Số tiền gốc tronginvoice.amountFiatkhông thay đổi. - Phí dịch vụ được tính lại theo mức phí của dự án trên số tiền bạn đã nhận. Khi thanh toán thừa, phí cao hơn mức tính lúc tạo hóa đơn; khi thanh toán thiếu thì thấp hơn.
Yêu cầu
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"
Tham số yêu cầu
| Tham số | Kiểu dữ liệu | Mô tả | Ví dụ | Bắt buộc? |
|---|---|---|---|---|
invoiceId | UUID | ID hóa đơn ở định dạng UUID | ade9550d-3dc7-4fd3-b94e-3b4c12aaaa0c | có |
paymentId | UUID | ID khoản thanh toán ở định dạng UUID | a4c9e2ee-9a03-43e5-a1a1-00caf679d16a | có |
Ví dụ phản hồi
{
"result":"success",
"data":"Invoice binded to payment"
}