ST Pay 商户 APIST Pay 商户 API
指南
API
错误码
商户后台
AI 协助对接
  • 繁體中文
  • 简体中文
  • English
指南
API
错误码
商户后台
AI 协助对接
  • 繁體中文
  • 简体中文
  • English
  • 开始

    • 概览
    • 请求与响应格式
    • 身份验证与 IP 白名单
    • 签名
    • 商户后台
    • AI 辅助对接
  • API

    • 代收建单
    • 代付建单
    • 查单
    • Callback 通知
  • 参考

    • 订单状态与金额
    • 重复请求与结果确认
    • 错误码
    • 银行代码
    • 上线前检查清单

错误码

建单时,ST Pay 按以下顺序检查,同时违反多项时只返回第一个错误:

签名 → 时间戳 → 来源 IP → 商户状态 → 必填字段与格式 → callback_url 的环境与地址 → 单笔上下限 → 商户单号重复 →(代收)同一会员待审批订单上限 →(代收)收款账户与尾数分配 /(代付)余额。

在此之前:请求体不是 JSON 对象或 Content-Type 不是 application/json,直接返回 invalid_parameter;未传 api_identity 或 sign 返回 invalid_signature。

message 实际返回繁体中文,程序请以 code 判断。下表 message 列为系统返回的原文。

codeHTTPmessage原因与处理方式
invalid_signature401簽章驗證失敗api_identity 错误、凭证已停用,或签名不一致。请对照签名中的示例核对程序,并确认使用了对应环境的凭证。字段值传成数字或布尔值会返回此错误或 invalid_parameter,所有值请以字符串传送;未传 api_identity 或 sign 也是。
timestamp_expired400請求時間與伺服器時間相差超過 5 分鐘,請校正您的伺服器時間(伺服器目前時間:yyyy-MM-dd HH:mm:ss)timestamp 与 ST Pay 服务器时间相差超过 5 分钟(过去或未来都算)。消息中附有服务器当前时间,可据此判断差距;请开启 NTP 校准服务器时间,并在发送当下才取时间签名。
ip_not_allowed403來源 IP 不在白名單请确认服务器实际的出口 IP,并请 ST Pay 将其加入白名单;加入后约 1 分钟生效。来源 IP 不在任何白名单时,请求在网关就被拦下:返回 HTTP 403,响应体是 HTML 而不是 JSON,处理方式相同。
merchant_disabled403商戶已停用商户停用期间不能建单,请联系 ST Pay。
permission_denied403無此操作權限通常是 /api/v1/ 下的路径拼写错误。使用 GET,或路径不在 /api/v1/ 下时,网关直接返回 HTTP 404(响应体不是 JSON)。
missing_parameter400缺少必填欄位必填字段未传、为 null 或空字符串;callback_url 全是空白;银行转账代付缺少银行字段;查单未传任何单号。
invalid_parameter400欄位值不合法字段值的格式、长度、字符或枚举值不合法;字段值不是字符串;请求体不是合法的 JSON 对象,或 Content-Type 不是 application/json;callback_url 格式不符(规则见 Callback 地址);FPS 代付传了银行字段;银行代码不在列表内。
invalid_amount400金額格式不正確金额为 0、负数、超过 2 位小数(按字面计算,1000.500 也算 3 位)、大于 9999999999999999.99,或不是数字。
missing_member_identity400請提供會員唯一識別或真實姓名代收建单时 merchant_user_id 与 payer_name 均未传。
invalid_callback_url400Callback 網址不符合規定:不可為本機或內網位址建单的 callback_url 主机是本机、内网地址、内部域名、非标准的 IP 写法。见 Callback 地址。格式错误(不是网址、超过 500 个字符、含空白或其他格式规则,见同一节)返回 invalid_parameter。
amount_out_of_range422金額超出限額原始金额或代付金额超出单笔上下限。
merchant_order_no_duplicate409商戶單號重複见重复请求与结果确认。
user_active_orders_limit422有效訂單已達上限同一会员已有 10 笔待审批的代收单。请等待其中的订单完成或到期后再创建。
channel_full422通道已滿,請輸入其他金額再試同一通道、同一原始金额的识别尾数已全部被待审批订单占用。请让付款人换一个金额再试。
no_available_card422通道已滿,請輸入其他金額再試该通道当前没有可用的收款账户。可稍后再试或改用另一个通道;持续出现请联系 ST Pay。
insufficient_balance422商戶餘額不足代付建单时,可用余额小于代付金额加手续费。
order_not_found404查無此單订单不存在、不属于您,或已超过保存期限被删除。
query_conflict400訂單號與商戶單號指向不同訂單查单时同时传了两个单号,但它们不是同一笔订单。
internal_error500系統錯誤,請以商戶單號查單確認結果ST Pay 内部错误,订单可能已创建也可能未创建。不要直接视为失败,请以商户单号查单确认。

channel_full 与 no_available_card 的 message 相同,请以 code 区分。

收到 invalid_parameter、invalid_signature 等错误又找不出原因时,请提供 api_identity、商户单号(查单则提供查询的单号)与发生时间(UTC+8),请 ST Pay 对接联系人查询 API 错误记录,可查到是哪个字段有问题或签名失败的原因。ST Pay 只记录 api_identity 正确的请求;api_identity 本身错误时查不到,请先核对。

Prev
重复请求与结果确认
Next
银行代码