跳到主要内容

将付款关联到收款单

概述

绝大多数情况下,买家会把收款单标明的金额分毫不差地付到商户的加密钱包。但买家偶尔会出错,支付的金额与预留的不同。此时服务无法自动把付款关联到收款单并将其标记为已支付。遇到这种情况,只要确定自己在等待哪笔付款,商户就可以手动把付款关联到收款单——在控制台或通过 API。

关联条件

只有同时满足所有条件,关联才会完成:

  1. 收款单状态——unpaidexpired。已取消和已支付的收款单无法关联。取消不可逆。
  2. 付款尚未关联到其他收款单。一笔付款只能绑定一张收款单。
  3. 付款到达的是该收款单涉及的钱包。
  4. 付款落在可用的付款窗口内——收款单创建前 24 小时到创建后 24 小时。在收款单创建之前到达的付款可以关联;窗口之外的不行。

如果收款单属于其他项目且密钥限定到项目,方法返回 Restricted project。其他任一条件不满足时,返回不带原因的通用错误——请在自己一侧检查条件。

关联之后会发生什么

  • 收款单转为已支付
  • 通知发往邮箱、Telegram 机器人和 Webhook URL——与自动关联时一样。
  • 收款单金额 invoice.amountFiatUSD 被实际收到的金额覆盖,按关联时刻的汇率折算成 USD。invoice.amountFiat 中的原始金额不变。
  • 服务费按项目费率对实际收到的金额重新计算。多付时高于创建收款单时算出的值,少付时低于它。

请求

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"

请求参数

参数数据类型说明示例是否必填
invoiceIdUUID收款单 ID,UUID 格式ade9550d-3dc7-4fd3-b94e-3b4c12aaaa0c
paymentIdUUID付款 ID,UUID 格式a4c9e2ee-9a03-43e5-a1a1-00caf679d16a

响应示例

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