Skip to content

获取 Webhook

您可以在项目设置页面配置用于发送支付入账通知的地址。

请注意,在发送 Webhook 时,必须返回以下响应:

json
{
  "success": true
}

否则服务将继续尝试重新发送 Webhook。 最多重试次数为 30 次。

支付入账 Webhook 示例:

json
{
  "amount": "2.395", - 支付金额(美元)
  "created_at": "2025-03-17T12:57:52.449795Z", - 支付创建时间
  "paid_at": "2025-03-17T12:57:19Z",- 支付完成时间
  "status": "completed", - 支付状态
  "transactions": {
    "amount": "0.02552778", - 加密货币支付金额
    "amount_usd": "2.395", - 支付金额(美元)
    "bc_uniq_key": "0", - 交易顺序编号,在类似比特币网络中很重要;bc_uniq_key + tx_hash 可确保唯一性
    "blockchain": "litecoin", - 区块链名称
    "created_at": "2025-03-17T12:57:52.449795Z",- 支付创建时间
    "currency": "LTC", - 加密货币类型
    "currency_id": "LTC.Litecoin", - 加密货币标识符
    "tx_hash": "2be41b0cad76bc5699c3da5d5a1d390f9fb4038e5bfe49aec3b675f9dd4515fd", - 交易哈希
    "tx_id": "4bbc91fd-a950-4fd0-83f3-9f1c09a6b54f" - 商户系统中的交易 ID
  },
  "type": "PaymentReceived",  - Webhook 类型
  "wallet": {
    "id": "9a07b545-f99e-4f51-bf37-a84fcbe4df4d", - 用户内部 ID
    "store_external_id": "1" - 用户外部 ID
  }
}

接收 Webhook 时的幂等性检查

在处理传入的 Webhook 时,必须确保幂等性,以避免重复处理相同的事件。为此,应使用以下两个字段:

tx_hash — 请求或事件内容的哈希值;
bc_uniq_key — Webhook 发送方提供的事件唯一标识符。

在处理 Webhook 之前,必须检查 hash 和 uniq_key 的组合是否已经处理过。如果该事件已被记录,应将其视为重复并忽略。