创建充值订单
提交充值
授权并创建订单
创建充值订单
POST /v1/apps/chatgpt-recharge/orders API Key
用用户已确认的报价,提交完整 Session;自助充值提供银行卡,代充省略银行卡,创建本次充值订单。
先准备完整 Session
用户登录 ChatGPT 后打开 会话接口,将完整返回对象放入 session。请求上限 1 MiB,请在自己的服务端调用。
请求字段
assisted · boolean · 可选
必须与报价一致。true 时省略 card,后台管理员使用申请关联的 Session 充值,强制 cancel_renewal=true。
Idempotency-Key · HTTP header · 必填
8–80 位字母、数字、下划线或短横线。每次新充值生成一个并保存;网络超时重试必须使用原标识、原报价和原订单参数。
quote_id · string · 必填
用户已确认的服务费报价 id。每个报价只能对应一个订单。
session · object · 必填
用户登录 ChatGPT 后访问上方的会话接口,将返回的完整 JSON 对象原样放入此字段;不是字符串,也不能只传 accessToken。
card · object · 自助充值
用户授权使用的银行卡。cardNumber 为纯数字字符串,expMonth 为 1–12 的整数,expYear 为四位年份整数,cvv 为字符串。
consent · boolean · 必填
必须为 true,代表已获得用户使用本次 Session 和银行卡完成充值的明确授权。
自动续费与自有优惠码
cancel_renewal · boolean · 可选
默认 true,要求充值后取消自动续费。务必检查订单 renewal_status;充值成功不代表自动续费已取消。
promo_code · string · 可选
用户自己的 Team 优惠码,最多 120 字符;只可用于 Team 且报价 promo=false。使用供应商平台优惠码时省略。
响应字段说明
id / key_id · string
本站订单编号和发起充值的 API Key 编号;网页订单 key_id 为空。当前账户的 API Key 可查询该账户的网页和 API 历史订单。
status / settled · string / boolean
pending_admin 等待管理员代充、manual_processing 管理员手动代充中、submitting 提交中、processing 处理中、unknown 待核实、success 成功、failed 失败。settled=true 表示本次全部积分已完成结算或退款。HTTP 200 只表示请求已处理。
fee · decimal string
下单时锁定的积分合计,代充包括订阅费与平台服务费。处理中预留,成功后转为消费,确认失败后原路退回。
account / card_last4 · string
脱敏邮箱和银行卡后四位。Session 不写入订单响应或日志。代充申请加密暂存 Session,平台提交、手动结算、取消或资料过期后清除;完整卡号与 CVV 仅在本次处理内存中使用,最长 15 分钟,不写入数据库或日志。
默认要求充值后取消自动续费;实际结果以 renewal_status 为准。HTTP 200 表示请求已处理,需继续查询订单才能确认充值成功。
保存幂等标识,避免重复充值
超时后先查订单。重试时保留同一 Idempotency-Key、原报价和原订单参数;同标识的重复提交返回已有订单,不再次预留积分。同一 ChatGPT 账号存在未结算订单时,不能在同一本站账户下再次提交。
调用示例请求与响应分开查看
cURL 请求
# 个人套餐(含代充):用户阅读并明确同意 ChatGPT 使用条款后,才可设置 terms_accepted=true。
# 不得默认代填;consent 不能替代条款确认。Team 可省略。
# 条款:https://openai.com/policies/terms-of-use/
curl -X POST 'https://y.junlistudio.com/v1/apps/chatgpt-recharge/orders' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: recharge_UNIQUE_REQUEST_ID' \
--data-binary @recharge.json请求 JSON
{
"quote_id": "QUOTE_ID",
"session": {
"user": {
"email": "USER_EMAIL"
},
"account": {
"id": "CHATGPT_ACCOUNT_ID"
},
"accessToken": "REPLACE_WITH_COMPLETE_SESSION_OBJECT"
},
"card": {
"cardNumber": "YOUR_CARD_NUMBER",
"expMonth": 12,
"expYear": 2030,
"cvv": "YOUR_CVV"
},
"cancel_renewal": true,
"consent": true,
"terms_accepted": true
}响应 JSON
{
"id": "ORDER_ID",
"key_id": "KEY_ID",
"account": "al***@example.com",
"product": "plus",
"country": "US",
"seats": 0,
"premium_seats": 0,
"promo": false,
"cancel_renewal": true,
"card_last4": "4242",
"fee": "800.00000000",
"status": "processing",
"progress": 0,
"renewal_status": "",
"failure_code": "",
"payment_amount": "",
"payment_currency": "",
"payment_country": "",
"payment_minor": null,
"settled": false,
"created_at": "2026-10-12T12:01:00Z",
"updated_at": "2026-10-12T12:01:00Z"
}将占位值替换为你的数据 · 示例不发起真实请求
金额、日期和地区数量均为结构示例。目录示例仅展示一个地区与套餐,实际以接口返回为准。
将「请求 JSON」保存为仅自己可读的 recharge.json;session 示例必须替换成完整会话对象,避免敏感信息进入命令历史。