公共数据结构
PaymentPayload
Buyer 签名后通过 X-PAYMENT header(base64 编码)传递给 Seller,Seller 原样透传给 Facilitator。
| 参数 | 类型 | 必传 | 描述 |
|---|
| x402Version | Integer | 是 | 协议版本,如 2 |
| resource | Object | 否 | 受保护资源描述 |
| resource.url | String | 是 | 受保护资源的 URL |
| resource.description | String | 否 | 资源描述 |
| resource.mimeType | String | 否 | 预期响应的 MIME 类型 |
| accepted | Object | 是 | Buyer 选中的支付方式(从 accepts 数组中选取),结构同 PaymentRequirements |
| payload | Object | 是 | 签名数据 |
| payload.signature | String | 是 | EIP-712 签名。exact: EOA 签名;aggr_deferred: session key 签名 |
| payload.authorization | Object | 是 | EIP-3009 授权参数 |
Authorization
| 参数 | 类型 | 必传 | 描述 |
|---|
| from | String | 是 | 付款方钱包地址 |
| to | String | 是 | 收款方钱包地址 |
| value | String | 是 | 支付金额(原子单位,带精度) |
| validAfter | String | 是 | 授权生效的 Unix 时间戳 |
| validBefore | String | 是 | 授权过期的 Unix 时间戳 |
| nonce | String | 是 | 32 字节随机 nonce(0x hex 格式,防重放) |
PaymentRequirements
同时用作 402 响应 accepts 数组元素和 paymentPayload.accepted。
| 参数 | 类型 | 必传 | 描述 |
|---|
| scheme | String | 是 | 结算方案:exact / aggr_deferred |
| network | String | 是 | CAIP-2 链标识,如 eip155:196 |
| amount | String | 是 | 支付金额(原子单位字符串) |
| asset | String | 是 | 代币合约地址 |
| payTo | String | 是 | 收款钱包地址 |
| maxTimeoutSeconds | Integer | 否 | 支付完成的最大超时时间(秒) |
| extra | Object | 否 | scheme 特有扩展。aggr_deferred 时 Buyer 在 accepted.extra.sessionCert 中携带 session key 证书 |