什么是 webhook
说明服务器如何接收事件,以及为什么必须验证通知。
更新日期:
webhook 是某个事件发生时,一个服务向另一个应用地址发送的通知。例如,Cryptanio 可以告诉商店服务器,某笔加密货币付款的状态已经改变。应用无需为了发现这次变化而不断查询同一个状态。
这种集成需要可访问的服务器端 HTTPS 接收地址。它与现成的 Telegram 或 Discord 提醒不同:您的服务器接收数据并执行自己的逻辑。验证用的秘密值应保存在服务器,不应出现在浏览器代码、聊天消息或日志中。
处理前,请使用请求的原始字节验证签名,并检查消息是否处于允许的时间范围内。然后识别事件,找到关联的账单,核对其状态。签名正确可以证明消息来源,但不能代替对金额、资产和订单的业务检查。
通知可能重复投递,因此需要保存事件标识,并确保重复通知不会导致商品发放两次。对于同一转账,状态变化也应按允许的顺序应用。服务器暂时不可用后,应保留已接受事件的历史,并与当前数据进行核对。
请使用 Cryptanio 固定的公开 API v1 契约。收到一个 HTTP 请求并不构成交付依据:发现交易、转账确认与订单全额支付是不同条件。处理流程还应覆盖交易回滚及付款异常。