正在加载…

创建充值订单

提交充值

授权并创建订单

创建充值订单

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 示例必须替换成完整会话对象,避免敏感信息进入命令历史。