获取 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 的组合是否已经处理过。如果该事件已被记录,应将其视为重复并忽略。