Skip to content

错误处理

所有错误以统一 JSON 格式返回。在 API Reference 中查看完整错误定义 →

json
{
  "error": {
    "type": "invalid_request_error",
    "code": "parameter_invalid",
    "message": "Amount must be at least 1 USDT",
    "param": "amount",
    "doc_url": "https://ironixpay.com/guide/errors#parameter_invalid"
  }
}

Error Type

type含义
invalid_request_error请求有误 — 参数缺失、格式错误或认证失败
api_error服务端内部错误(罕见,可重试)
idempotency_error同一 Idempotency-Key 搭配了不同的请求体

Error Code

codeHTTP触发原因
authentication_failed401API Key 缺失或无效
parameter_invalid400参数校验不通过(详见 param 字段)
resource_missing404资源不存在
permission_denied403无权操作
conflict409状态冲突(如 Session 已完成)
idempotency_conflict409同一 key,不同请求体
session_expired410Session 已过期
environment_mismatch403API Key 环境与目标网络不匹配
service_unavailable503服务暂不可用(如地址池耗尽)
api_error500服务端内部错误

错误处理示例

javascript
try {
  const session = await fetch('/v1/checkout/sessions', { ... });
  const data = await session.json();

  if (!session.ok) {
    const { error } = data;
    console.error(`[${error.type}] ${error.code}: ${error.message}`);

    if (error.code === 'authentication_failed') {
      // 检查 API Key
    } else if (error.code === 'parameter_invalid') {
      // 看 error.param 定位哪个字段出了问题
    }
  }
} catch (err) {
  // 网络错误 — 可安全重试
}

HTTP 状态码速查

状态码含义
200成功
201已创建
400请求有误
401未认证
403无权访问
404未找到
409冲突
410已过期
500服务端错误
503服务不可用