购买一件商品

POSThttps://api.astrum.shop/v1/orders
权限范围 orders:write

在同一操作中从余额扣款并交付商品。需要 100 件,就下 100 笔订单。

响应中不包含商品,商品请通过 GET /v1/orders/{order_id} 获取。

没有收到响应时,不要盲目重试:先调用 GET /v1/orders(当天的订单),确认订单是否已创建。否则会产生第二笔订单,并再次扣款。

请求体

application/json
product_id
uuid · 必填

来自 GET /v1/catalog 的商品。

delivery_method
string | null

交付方式:仅当商品有多种交付方式时需要(见商品目录中的 delivery_methods)。有多种方式却未指定时,返回错误 40005 delivery_method_required,并附带可选方式列表。

响应

order_id
string

订单号,由我们生成。

product_id
string | null

商品目录中的商品。

product_name
string | null

下单时的商品名称。

delivery_method
string | null

交付方式,与商品目录中的一致。

subscription_days
integer | null

订阅时长(天);null 表示不是订阅。

status
string

订单状态:

completed
已交付或订阅已开通
waiting
待客户填写
processing
开通中
failed
失败
canceled
已取消,款项已退回余额
refunded
已退款(按售后申请)
status_text
string

当前进展:写给客户的文字,请原样展示。

price_usdt
string | null

从余额中扣除的金额。

refunded_usdt
string | null

退回余额的金额。

created_at
string

创建时间(UTC)。

available_actions
array

当前可对订单执行的操作;为空表示无可执行操作:

activate
提交客户信息
retry
使用已提交的信息重试
force
在客户当前订阅上强制开通,须经客户同意
cancel
取消订单并将款项退回余额
activation
object | null

订阅开通:需要向客户索取什么,以及开通的当前进展。交付方式为 activation、card_payment 和 new_account 时返回;卡密和现成账号类订单为 null。

↳customer_data_type
string | null

订单等待客户信息时,需要客户提供的内容;否则为 null:

chatgpt_session
ChatGPT session 页面的全部文字
claude_org_id
Claude 账号的 Organization ID
claude_session_key
Claude 的 session key,以 sk-ant-sid02- 开头
grok_user_id
Grok 账号 ID,或其 session 页面的全部文字
x_account_id
用于购买的 X 账号 ID:来自 x.com 上的书签,不是用户名,也不是编号
account_email
Claude 账号邮箱:由我方银行卡代付的第一步
login_link
Anthropic 邮件中的登录链接:由我方银行卡代付的第二步

要对客户本人说的话,见 customer_instruction。

↳customer_instruction
string | null

客户需要做什么:写给客户的文字,请原样展示。

↳verification_link
string | null

服务方要求客户验证身份时返回:服务方自己的验证页面(Claude 为 inquiry.withpersona.com)或客户的账号设置;否则为 null。客户完成验证后,调用 verification_done。

↳verification_until
string | null

验证链接的有效期截止时间(Persona 页面的链接有效期不到一天);null 表示没有期限。过期后,verification_link 会变为进入账号设置的路径。

↳current_plan_until
string | null

客户当前订阅的有效期截止日(如已知)。

↳note_to_customer
string | null

我们写给客户的消息:用于状态无法说明的暂停情况。请原样展示。

↳page_url
string | null

该订单的开通页面:客户可自行提交信息并查看状态。请把链接发给客户,或通过小组件展示;null 表示该交付方式没有开通页面。该链接只能打开本订单的开通流程。

warranty
object | null

质保:申请截止时间,以及最近一次申请的处理情况。

↳until
string | null

质保截止时间(UTC);null 表示质保尚未开始(订单未完成),或订单已取消、已退款。

↳claim_id
string | null

该订单最近一次的售后申请;null 表示没有申请。

↳claim_status
string | null

最近一次申请的处理情况:

open
待回复
restarted
重新开通:已换用新卡密;客户可能需要重新提交信息
refunded
已退款:款项已退回余额
refused
已驳回,原因见 refuse_reason

所有接口通用的错误,详见「错误码」章节:

10001 invalid_key10002 key_scope_missing10003 ip_not_allowed10004 browser_not_allowed10005 account_suspended20001 too_many_requests90002 api_disabled90001 internal_error
测试 USDT,
密钥 ask_test_…
curl https://api.astrum.shop/v1/orders -X POST \
  -H "Authorization: Bearer $ASTRUM_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "product_id": "3f6c0e7e-2b1d-4c1a-9a57-4d0f1b8e2c11"
  }'
响应
{
  "order_id": "b1e04c6e-5a0b-4f6e-9a39-0b9f2f1c8d21",
  "product_id": "3f6c0e7e-2b1d-4c1a-9a57-4d0f1b8e2c11",
  "product_name": "ChatGPT Plus",
  "delivery_method": "activation",
  "subscription_days": 30,
  "status": "waiting",
  "status_text": "等待您提供开通所需的信息。",
  "price_usdt": "20.00",
  "refunded_usdt": null,
  "created_at": "2026-09-28T10:14:03Z",
  "available_actions": [
    "activate",
    "cancel"
  ],
  "activation": {
    "customer_data_type": "chatgpt_session",
    "customer_instruction": "请在浏览器中登录 ChatGPT,打开 chatgpt.com/api/auth/session 页面,完整复制页面上的全部文字并发送给我们。如果您当前在团队工作空间中,请先切换到个人账号。",
    "verification_link": null,
    "verification_until": null,
    "current_plan_until": null,
    "note_to_customer": null,
    "page_url": "https://activate.astrum.shop/#t=seBMbloLT26aOQufLxyNIfi1NV8Ia9Gl8a4-FyM75pc"
  },
  "warranty": {
    "until": null,
    "claim_id": null,
    "claim_status": null
  }
}