简中

x402 付款要求 · 更新于

x402 的 payTo 地址变化时,该比较什么?

收款对象不同值得注意,但变化本身不能解释原因。在你的付款策略决定如何处理前,请比较完整要求、观测时间与资源。

阅读图解证据示例

五部分比较

从完整要求开始。

payTo 值必须结合网络、资产、金额、方案与资源来看才有意义。保留客户端实际收到的挑战及其时间戳,才能与已保存的观测比较,而不是单独比较一个地址。

合成比较示例说明用数值 · 非实时证据
字段较早的观测新的挑战差异能说明什么
资源/v1/resource/v1/resource这项比较仍针对相同的端点路径。
网络eip155:8453eip155:8453此示例的付款网络没有变化。
资产synthetic token 0x…C3synthetic token 0x…C3列出的网络上出现相同的说明用合约标识符。
金额1000 atomic units1000 atomic units此示例的金额没有变化。
payTo0x…A10x…B2公布的收款对象不同。证据不会提供变化原因。

所有缩写地址都是仅供显示的合成标识符,不能用作付款指示。

payTo
该付款选项公布的收款对象。出现差异表示客户端被要求向不同的收款对象值付款。
网络+资产
结算上下文。相同的地址文本若位于其他网络,或相同代号指向其他资产标识符,都不是相同的付款选项。
金额
金额是 IFF 完整选项指纹的一部分。如果方案、网络、资产与收款对象相同而只有金额变化,预检比较可将其分类为 amount_only。
资源
端点 URL 决定 IFF 记录与比较范围。不同主机或路径应视为不同资源检查。资源不包含在 IFF 的付款选项指纹中。

得出结论前了解背景

变化可能是常规操作。

服务提供者可能轮换资金管理地址、迁移托管服务、变更资产或网络、更新价格,或部署新的资源路径。缓存或延迟的挑战也可能让有效转换短暂看似不一致。这些都是应调查的可能性,不是 IFF 已证实的解释。

发生冲突时,先暂停并检查。

diverged 表示客户端提供的选项中,至少一项与近期观测选项的并集不符。amount_only 表示每个提供的选项在方案、网络、资产与收款对象上都与某项观测相符,但至少一项的金额不同。范围更广的 payee 分类表示至少一个提供的选项在非金额字段中找不到相符项;它并不声称只有收款对象变化。

过期观测还有另一项限制。IFF 仍会将新要求与最近的观测时间窗口比较并报告 matches_last_observed,但判定仍为 stale。这能告诉你条件是否符合最后保存的证据,却不能让旧证据成为最新数据。

记录包含什么

用历史记录确认顺序,不推断动机。

最新的公开证据卡会显示当前保存的付款选项与观测时间。其中 requirements.current 与 requirements.history 区块会汇总连续的指纹区段,包括首次出现、最后出现与观测次数。公开历史记录能指出规范化后的选项集合发生变化,但不会公开纯文本的变化前后说明,也不会把变化归因于某位操作人员。

  1. 比对准确的资源。比较同一个规范化的公开 HTTPS 端点,包括路径。
  2. 检查时间戳与新鲜度。较早的挑战与较新的观测可能描述不同但都合理的状态。
  3. 比较所有公布的选项。选项顺序与重复条目不会产生不同的规范化集合;方案、网络、资产、收款对象与金额则会。
  4. 分开看待所有权与要求。所有权维度为 verified 表示记录了来源站控制权。它不证明对付款地址的控制权,observed 层级卡片的所有权也可能未经验证。
  5. 应用自己的暂停付款或升级处理规则。变化超出你的策略时,通过另一个可信渠道向服务提供者确认。

由你的付款策略决定

这些观测不能证明什么。

要求相符是与近期观测一致的证据。要求发生变化是存在差异的证据。两种结果都不能证明付款安全性、收款对象所有权、授权、已确认的欺诈、服务交付、结算或付款后响应的正确性。

在实时查询中检查端点 添加明确的预检决策 阅读预检 API 规范