跳到主要内容

Webhook 集成

Webhook 向您的接收 URL 报告帐户事件。这是一个通知;通过GET交易.验证权威交易状态。

配置接收器​

在 Heth webhook 设置中,设置您控制的 URL,配置集成密钥并启用传递。更改 URL 会更改接收帐户事件的人员。保护该端点并避免重定向到不受信任的收件人。配置需要用户的帐户会话;用于交易的 API 密钥并不自动足够。

安全处理通知​

  1. 验证帐户 Webhook 签名和重播检查,如下所述。
  2. 记录事件/交易标识符并编辑敏感字段。
  3. 使处理幂等:重复或延迟交付不得创建另一笔付款。
  4. 使用您自己的凭证检索交易并协调其状态。
  5. 返回配置的交付合约所需的接收方响应。

不要将浏览器推送通知视为 Webhook 或交付保证。本概述不承诺每个配置的集成都通用的排序、重试间隔或身份验证格式。在启用生产自动化之前获取实际的交付合同。

账户 webhook 传递格式​

此格式适用于 Heth 设置中配置的帐户 Webhook。其他回调集成可能使用不同的合约。

配置非空帐户 Webhook 密钥时,请求包括 x-webhook-signature(十六进制 HMAC-SHA256)、x-webhook-timestamp(Unix 秒)和 x-webhook-event-id。通过时间戳+“.”验证HMAC + 使用配置的秘密的确切原始 HTTP 主体字节;在验证之前不要解析和重新序列化 JSON。检查签名主体时间戳是否与时间戳标头匹配,拒绝高于 5 分钟的时钟差异,在恒定时间内比较签名,并按 event_id 进行重复数据删除。重试保留 event_id 但收到新的时间戳/签名。如果没有配置秘密,签名标头可能会不存在;在信任自动交付之前配置机密。

hex(HMAC-SHA256(secret, timestamp + "." + raw_body))

信封包含 event_id、时间戳、类型和数据。对于账户交易事件,数据包括tx_id、txid、type、status、amount、currency和event_type。 amount 可以是 JSON 整数:使用无损解析器。捐赠可以添加捐赠对象。记录后使用 HTTP 2xx 确认已验证的事件;重复验证的 event_id 值不得触发业务操作两次。即使在有效通知后也可以通过 GET 确认交易。