支付 API

提交交易#

将提交的交易上链结算。

请求地址#

POST https://web3.okx.com/api/v6/x402/settle

请求参数#

  • 请求体
参数类型必传描述
x402VersionStringx402 协议版本,v1 对应传整数 1
chainIndexString网络的唯一标识
paymentPayloadObject客户端随受保护请求携带的 x402 支付载荷
>x402VersionStringx402 协议版本,v1 对应传整数 1
>schemeString结算方案,如 exact(按固定金额一次性支付)
>payloadObject付款签名与授权数据对象
>>signatureString加密签名
>>authorizationObject授权信息
>>>fromString付款地址
>>>toString收款地址
>>>valueString金额,以链上最小单位表示(如 USDT 精度为 6,则 1 USDT = 1000000)
>>>validAfterString授权生效的 Unix 时间戳(秒级精度)
>>>validBeforeString授权失效的 Unix 时间戳(秒级精度)
>>>nonceString32 字节十六进制随机数,用于防止重放攻击
paymentRequirementsObject支付内容用于付费访问资源的信息(金额/网络/资产/收款方等)
>schemeString结算方案,如 exact
>resourceString资源的服务器 URL
>descriptionString资源的接口描述
>mimeTypeString资源方响应的 MIME 类型
>maxAmountRequiredString最大需支付金额,以链上最小单位表示(如 USDT 精度为 6,则 1 USDT = 1000000)
>maxTimeoutSecondsInteger授权有效后最大等待秒数
>payToString收款地址
>assetString资产标识/合约地址(视网络而定)
>outputSchemaObject期望资源返回数据的 JSON 结构
>extraObject额外参数,如 gasLimit

响应参数#

参数类型描述
chainIndexString网络的唯一标识,如 196:X Layer
chainNameString网络名称,如 X Layer
successBoolean是否结算成功
payerString用户付款地址
txHashString结算交易哈希(EVM 为 0x hash;Solana 为 base58)
errorMsgString失败原因(如 insufficient_funds、invalid_payload 等)

请求示例#

Shell
curl --location --request POST 'https://web3.okx.com/api/v6/x402/settle' \
--header 'Content-Type: application/json' \
--header 'OK-ACCESS-KEY: <your-api-key>' \
--header 'OK-ACCESS-SIGN: <your-signature>' \
--header 'OK-ACCESS-PASSPHRASE: <your-passphrase>' \
--header 'OK-ACCESS-TIMESTAMP: <your-timestamp>' \
  --data '{
  "x402Version": 1,
  "chainIndex": 196,
  "paymentPayload": {
    "x402Version": 1,
    "scheme": "exact",
    "payload": {
      "signature": "<your-signature>",
      "authorization": {
        "from": "<payer-wallet-address>",
        "to": "<payee-wallet-address>",
        "value": "1000000",
        "validAfter": "<unix-timestamp-seconds>",
        "validBefore": "<unix-timestamp-seconds>",
        "nonce": "<your-nonce>"
      }
    }
  },
  "paymentRequirements": {
    "scheme": "exact",
    "maxAmountRequired": "0",
    "resource": "https://api.example.com/premium/resource/123",
    "description": "Premium API access for data analysis",
    "mimeType": "application/json",
    "outputSchema": {
      "data": "string"
    },
    "payTo": "<payee-wallet-address>",
    "maxTimeoutSeconds": 10,
    "asset": "<asset-contract-address>",
    "extra": {
      "gasLimit": "1000000"
    }
  }
}'

响应示例#

Json
{
    "code": "0",
    "msg": "success",
    "data": [
        {
            "success": true,
            "errorReason": null,
            "payer": "<payer-wallet-address>",
            "txHash": "<transaction-hash>",
            "chainIndex": "196",
            "chainName": "X Layer"
        }
    ]
}