获取支付会话 (Get Payment Session)
获取支付会话的当前状态。这对于恢复中断的流程或检查由商户后台创建的会话状态非常有用。
GET /session/:sessionId
请求参数
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
sessionId | String | ✅ | 支付会话的唯一标识符。作为路径参数传递。 |
响应结构
响应包含会话详情和 aiView。
如果会话是通过 创建会话 (Create Session) 接口创建的,aiView 将处于 session_ready 阶段,并包含 preparePaymentRequirement。
如果会话是由商户后台创建的,且未指定支付者或代币,aiView 可能包含 completePaymentSessionGuide,指示客户端在继续之前选择支付参数。
响应示例 (准备好支付)
{
"sessionId": "sess_example_payment_04",
"sessionType": "ai_checkout",
"lineItems": [
// ... 商品列表 ...
],
"aiView": {
"pricingModel": { "type": "fixed" },
"workflow": {
"stage": "session_ready",
"nextAction": {
"action": "prepare_payment",
"authorizationRequired": true
}
},
"preparePaymentRequirement": {
"authorizationRequired": true,
"authorizationSpec": {
"type": "eip712",
"purpose": "prepare_payment",
"domain": {
"name": "aipay.gstable.io",
"version": "1",
"chainId": "137"
},
"types": {
"PreparePaymentAuthorization": [
{ "name": "purpose", "type": "string" },
{ "name": "sessionId", "type": "string" },
{ "name": "merchantId", "type": "string" },
{ "name": "paymentChainId", "type": "uint256" },
{ "name": "paymentToken", "type": "address" },
{ "name": "payer", "type": "address" },
{ "name": "payerEmail", "type": "string" },
{ "name": "authorizationNonce", "type": "bytes32" },
{ "name": "authorizationExpiresAt", "type": "uint256" }
]
},
"messageTemplate": {
// ... 模板值 ...
}
}
}
}
}
错误处理
此接口遵循 统一错误处理 标准。业务错误返回 HTTP 200 及非零 code。