x402 返回 402:核对报价、网络和付款回执
链小知 · 进阶 · 核验 · 依官方文档整理
识别协议版本,将支付要求、授权和结算结果分别核对。
开始前准备
- 使用已有脱敏记录或官方示例;不保存密钥、签名原文或个人账户资料。
- 只核对材料;不安装SDK、不调用账户或资金API、不创建付款。
1. 识别协议版本
V2 服务端发 PAYMENT-REQUIRED,客户端重试携带 PAYMENT-SIGNATURE,结算尝试后服务端给 PAYMENT-RESPONSE,内容为 Base64 JSON。V1 的 X-PAYMENT/X-PAYMENT-RESPONSE 不要与 V2 混用;仅解读脱敏副本,不生成签名。
检查结果:记录版本、状态码和实际头名。
2. 还原付款选择
检查 accepts 中所选方案、网络、资产、金额、收款对象,同时记录资源地址和 facilitator。V2 网络用 CAIP-2,例如 Base 主网 eip155:8453;示例支持不证明当前端点接受该链。
SDK 包装器可能自动处理402并支付;核对报价时不要运行带钱包示例。
检查结果:报价对应具体端点、方案、链和收款对象。
3. 分别判断授权和结算
/verify 检查载荷是否符合要求,/settle 才负责结算与确认。exact/upto 通常即时结算,batch-settlement 可先服务后赎回。已有记录中检查 PAYMENT-RESPONSE 或 processResponse 的支付状态,资源成功不能自动等同链上最终结算。
检查结果:资源、验证和结算分栏,不只看 HTTP 200。
怎样确认完成
- 形成版本、报价、资源和结算核对表。
- 未知结果不触发重复付款。
常见错误与边界
- 同名代币和相似网络仍需按实际标识对应。
- 缺少结算回执时不写已付款。