质保:订单售后申请

订阅提前失效、开通的套餐不对或卡密无法使用时,请在交付后 7 天内提交申请:订阅从开通时起算,卡密和账号从交付时起算。处理方案由我们决定:换用新卡密重新开通(尽可能换用其他供应商的卡密),或按订单价格退款至余额。

更新于 2026年10月8日 · 阅读约需 3 分钟
Markdown
可提交申请的截止时间见订单中的 warranty.until;为 null 表示订单尚未完成、已取消或已退款。
每笔订单同时只能有一个处理中的申请:再次提交会返回 50007 claim_already_open,并在 details.claim_id 中给出已有申请的编号。
必须提供截图:客户账号中的套餐页面(ChatGPT 为 Settings 中显示当前套餐的页面),或卡密报错的界面。没有截图的申请不予受理。
订阅类订单(activation、card_payment)必须提供客户账号邮箱:我们据此核对截图。处理完成 90 天后,我们会删除邮箱和截图。
activation、key 和 account 可以重新开通;card_payment 和 new_account 只能退款。
客户账号被封禁不在质保范围内。

提交申请

POST /v1/orders/{order_id}/claims — 提交问题类型(problem)、期望的处理方式(wish)、客户账号邮箱、备注以及 base64 编码的截图(PNG、JPEG 或 WebP,不超过 10 MB)。该接口的请求体上限为 14 MB,其他接口为 64 KB。

curl https://api.astrum.shop/v1/orders/$ORDER_ID/claims \
  -H "Authorization: Bearer $ASTRUM_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"problem\": \"not_working\", \"wish\": \"restart\",
       \"account_email\": \"client@example.com\",
       \"screenshot_base64\": \"$(base64 < plan.png | tr -d '\n')\"}"
import base64, os, httpx

with open("plan.png", "rb") as f:
    shot = base64.b64encode(f.read()).decode()

claim = httpx.post(
    f"https://api.astrum.shop/v1/orders/{order_id}/claims",
    headers={"Authorization": f"Bearer {os.environ['ASTRUM_KEY']}"},
    json={
        "problem": "not_working",
        "wish": "restart",
        "account_email": "client@example.com",
        "comment": "昨天还是 Plus,今天变成了 Free",
        "screenshot_base64": shot,
    },
    timeout=60,
).json()
import { readFile } from "node:fs/promises";

const shot = (await readFile("plan.png")).toString("base64");
const res = await fetch(`https://api.astrum.shop/v1/orders/${orderId}/claims`, {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.ASTRUM_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    problem: "not_working",
    wish: "restart",
    account_email: "client@example.com",
    screenshot_base64: shot,
  }),
});
const claim = await res.json();
problem 问题
not_working 没有订阅或卡密无法使用
wrong_plan 开通的套餐不对
other 其他问题,请在 comment 中说明

每个合作伙伴提交售后申请的上限为每 10 分钟 10 次(在账户中提交和通过 API 提交合并计算)。

处理结果

处理结果通过 Webhook order.updated 推送:订单中的 warranty.claim_status 会随之变化。

claim_status 含义
open 等待处理
restarted 已换用新卡密重新开通:订单重新按状态流转——如需客户信息,会像最初一样进入 waiting
refunded 订单金额已退回余额,订单中显示 refunded_usdt
refused 已驳回:原因见 GET /v1/claims/{claim_id} 中的 refuse_reason
refuse_reason 原因
account_banned 客户账号已被封禁,不在质保范围内
plan_present 订阅仍然有效
wrong_screenshot 截图内容不符
window_closed 质保期已过

全部申请:GET /v1/claims(最新的在前;可按 status 和 order_id 筛选,下一页把 next_cursor 的值作为 cursor 传入),单个申请:GET /v1/claims/{claim_id}。也可以在账户的「售后申请」标签页中查看。

拒绝受理

申请未被受理时返回 50006 claim_not_available,原因见 details.problem:

details.problem 含义
closed 订单已取消或已退款——不再享有质保
not_completed 订单尚未完成:正在等待客户信息、正在开通或开通失败
window_closed 距交付已超过 7 天
restart_unavailable card_payment 和 new_account 方式不支持重新开通,只能退款
404
50001 order_not_found
订单不存在
请检查 order_id:只能看到您的密钥创建的订单。
409
50006 claim_not_available
该订单无法提交售后申请
原因见 details.problem:window_closed(交付已超过 7 天)、not_completed(订单尚未完成)、closed(订单已取消或已退款)。
409
50007 claim_already_open
该订单已有待回复的售后申请
请等待处理结果:结果会通过 order.updated 事件通知,申请详情见 GET /v1/claims。
429
20001 too_many_requests
请求过于频繁,请稍后重试
请等待响应头 Retry-After 中给出的秒数后再试。
422
11006 validation_error
请求未通过校验
具体问题见 details.errors:字段及原因。
本页内容是否有帮助?
发现错误?在 Telegram 联系我们