跳到主要内容

创建支付会话 (Create Payment Session)

基于支付链接创建一个新的支付会话。此步骤将链接实例化为绑定了用户、链和代币的具体交易。

POST /payment/session/create

EIP-712 授权

此接口需要 purposecreate_payment_session 的 EIP-712 签名。用户必须对特定的支付参数(金额、代币、链)进行签名,以授权会话的创建。

  • Domain Name: aipay.gstable.io
  • Version: 1
  • Chain ID: 选择用于支付的链 ID。

请求参数

字段类型必填描述
messageObject用户签署的 EIP-712 消息对象。
message.purposeString必须是 create_payment_session
message.linkIdString支付链接 ID。
message.linkVersionString支付链接版本。
message.merchantIdString商户 ID。
message.payerAddress支付者的钱包地址。
message.paymentChainIdString发生支付的链 ID。
message.paymentTokenAddress支付代币地址。
message.amountString最小代币单位的支付金额。
message.authorizationNonceBytes32用于防止重放攻击的随机 32 字节十六进制字符串。
message.authorizationExpiresAtTimestamp此签名的过期时间(秒)。
signatureBytes生成的 EIP-712 签名字符串 (0x...)。

请求示例

{
"message": {
"purpose": "create_payment_session",
"linkId": "lnk_example_premium_plan_01",
"linkVersion": "ver_example_03",
"merchantId": "f7d65b193454db46fb2d6277e2f5e593bffcf6adde5064a2bb5dee6fd9b0fb7a",
"payer": "0x1234567890123456789012345678901234567890",
"paymentChainId": "137",
"paymentToken": "0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",
"amount": "3009000",
"authorizationNonce": "0xc6086627cff7f653c382d6e75b7f5afa239125f69887ac63516afce9fd0f8345",
"authorizationExpiresAt": "1769486386"
},
"signature": "0xa6be9f1cdfcbb534d61ad327dadf3aefa3e6ca52889890dbb2318f949061c7f42e2dce8c7a7e6b5007ccdf8e484ef2b6c282eaa16889978b2278c53fa37b07ab1c"
}

响应结构

返回创建的 sessionId 和 AI View 的下一个阶段。

响应示例

{
"code": 0,
"message": "success",
"data": {
"sessionId": "sess_example_payment_04",
"sessionType": "ai_checkout",
"sessionExpiresAt": 1769484586,
"aiView": {
"pricingModel": { "type": "fixed" },
"workflow": {
"stage": "session_ready",
"nextAction": {
"action": "prepare_payment",
"authorizationRequired": true
}
},
"preparePaymentRequirement": {
"authorizationRequired": true,
"authorizationSpec": {
"type": "eip712",
"purpose": "prepare_payment",
// ... prepare_payment 的 EIP-712 类型定义 ...
}
}
}
}
}

错误处理

此接口遵循 统一错误处理 标准。业务错误返回 HTTP 200 及非零 code