错误码

SubHub API 使用标准 HTTP 状态码与结构化 error 对象。

错误响应格式

{
  "error": {
    "type": "invalid_request_error",
    "code": "receipt_invalid",
    "message": "The provided receipt could not be verified.",
    "param": "receipt"
  }
}

HTTP 状态码

状态码说明
200请求成功
400请求参数无效
401认证失败 — 检查 Secret Key
403权限不足
404资源不存在
409冲突 — 如重复验证
429请求频率超限
500平台内部错误
503Provider 暂时不可用

错误码列表

code说明处理建议
invalid_api_keyAPI 密钥无效检查 Authorization 头
receipt_invalid凭证验证失败确认 receipt 未过期
receipt_already_used凭证已验证幂等处理,返回已有 Purchase
product_not_foundProduct 不存在检查 product_id
member_not_foundMember 不存在确认 member_id 有效
provider_unavailableProvider API 不可用稍后重试
provider_rejectedProvider 拒绝交易检查 Sandbox/Live 环境
entitlement_not_foundEntitlement 不存在确认 identifier
rate_limit_exceeded超出频率限制降低请求频率,查看 Retry-After
webhook_signature_invalidWebhook 签名无效检查 Webhook Secret

幂等性

POST /v1/purchases/verify 支持 Idempotency-Key 请求头。相同 key 的重复请求返回相同结果,不会重复写入。

POST /v1/purchases/verify
Authorization: Bearer sk_live_...
Idempotency-Key: idem_purchase_abc123
Content-Type: application/json