充值会话额度
会话额度用于限制当前用户在编辑器内可消费的金额。创建会话时传入的 sessionBalanceCents 只对新会话生效;复用同一个 externalResumeId 时不会重置余额。额度不足后,应由接入方后端调用本接口增加额度。
本接口必须使用 appSecret 在接入方后端调用,不能把 appSecret 暴露给浏览器或 iframe。
接口
POST https://www.qmjianli.com/api_open/v1/editor-sessions/{sessionId}/recharge
Authorization: Bearer {appSecret}
Content-Type: application/json请求字段
| 字段 | 必填 | 说明 |
|---|---|---|
| amountCents | 是 | 本次增加的额度,单位为分,必须是正整数;充值后会话余额不能超过 50000 元。 |
| requestId | 是 | 8~64 位字母、数字、下划线、冒号或连字符。每次业务充值使用新的 ID;重复提交同一 ID 不会重复增加额度。 |
| message | 否 | 本次额度变动的备注,用于流水核对。 |
请求示例
curl -X POST \
https://www.qmjianli.com/api_open/v1/editor-sessions/S123456/recharge \
-H "Authorization: Bearer 你的appSecret" \
-H "Content-Type: application/json" \
-d '{
"amountCents": 500,
"requestId": "GRANT_R10001_002",
"message": "用户购买5元增值额度"
}'响应示例
{
"code": 1,
"data": {
"reused": false,
"requestId": "GRANT_R10001_002",
"sessionId": "S123456",
"amountCents": 500,
"balanceCents": 500,
"balance": "5.00"
}
}通知编辑器刷新余额
充值成功后,父页面可向编辑器 iframe 发送以下消息,使余额立即更新。即使不发送,下一次收费操作仍会以服务端最新余额为准。
editorFrame.contentWindow.postMessage({
source: "QM_RESUME_HOST",
event: "balance_updated"
}, "https://www.qmjianli.com");注意事项
- 充值的是会话可消费额度,不会立即扣除开发者账户余额。
- 用户实际完成收费操作时,会话额度和开发者账户余额才会同时扣除。
- 会话必须仍在有效期内,并且属于当前 appSecret 对应的应用。
- 开发者账户余额不足时,即使会话有额度,收费操作仍会失败。