# 创建充值订单

<a id="submit"></a>

<a id="提交充值"></a>

## 提交充值

授权并创建订单

<a id="endpoint-submit"></a>

<a id="创建充值订单"></a>

### 创建充值订单

POST `/v1/apps/chatgpt-recharge/orders` API Key

用用户已确认的报价，提交完整 Session；自助充值提供银行卡，代充省略银行卡，创建本次充值订单。

 **先准备完整 Session** 

用户登录 ChatGPT 后打开 [会话接口](https://chatgpt.com/api/auth/session)，将完整返回对象放入 session。请求上限 1 MiB，请在自己的服务端调用。

<a id="请求字段-2"></a>

#### 请求字段

 **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 和银行卡完成充值的明确授权。

<a id="自动续费与自有优惠码"></a>

### 自动续费与自有优惠码

 **cancel\_renewal**  · boolean · 可选

默认 true，要求充值后取消自动续费。务必检查订单 renewal\_status；充值成功不代表自动续费已取消。

 **promo\_code**  · string · 可选

用户自己的 Team 优惠码，最多 120 字符；只可用于 Team 且报价 promo=false。使用供应商平台优惠码时省略。

<a id="响应字段说明-4"></a>

### 响应字段说明

 **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 账号存在未结算订单时，不能在同一本站账户下再次提交。

调用示例请求与响应分开查看

<a id="curl-请求-4"></a>

### cURL 请求

```bash
# 个人套餐（含代充）：用户阅读并明确同意 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
```

<a id="请求-json-2"></a>

### 请求 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
}
```

<a id="响应-json-4"></a>

### 响应 JSON

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