Skip to content

错误码说明 ​

商户 API 统一返回 JSON:{ "code": 0, "msg": "ok", "data": ... }。

  • code = 0:成功
  • code ≠ 0:失败,msg 为错误描述(用于日志与提示)

HTTP 状态码在多数业务错误场景仍为 200;请以 code 判断成功与否。

巴基斯坦常见场景 ​

msg说明处理建议
countryCode and currency must match merchant country config创建时误传了非 PK 国家/币种创建订单勿传 countryCode、currency;由商户号自动识别
unsupported bankCodebankCode 不在支持列表使用 附录 bankCode 枚举 中的大写编码
pay_type must be BANK_TRANSFER or EWALLETpay_type 值无效银行转账传 BANK_TRANSFER,电子钱包传 EWALLET
bankCode is required when pay_type is EWALLET电子钱包代付未传 bankCode传入对应钱包的支付工具编码
EWALLET payment tool not found or payout is disabled for bankCode没有匹配且启用代付的电子钱包工具检查 bankCode,或联系运营启用对应 EWALLET 工具的“支持付”
channel is under maintenance当前 bankCode 或支付渠道维护中稍后重试,或联系运营确认可用渠道
merchant balance insufficientPKR 钱包余额不足充值或调账后再试

商户鉴权与安全 ​

msg说明处理建议
signature invalidRSA2 验签失败检查私钥、待签名字符串、Base64
merchant not found商户号不存在核对 X-Merchant-No
merchant inactive商户已停用联系运营
merchant request expired时间戳超出 requestExpireSeconds同步服务器时钟
merchant duplicate nonceNonce 重复每次请求生成新 nonce
merchant ip not allowedIP 不在白名单提交出口 IP 给运营

订单与资金 ​

msg说明处理建议
merchant order no already exists商户订单号重复换新的 merchantOrderNo
merchant order not found订单不存在核对 orderNo / merchantOrderNo
merchant balance insufficient代付时钱包余额不足充值或调账后再试
amount must be greater than zero金额非法检查 amount

参数校验(示例) ​

msg说明
merchantOrderNo is required缺少商户订单号
bankCode is required代付缺少 bankCode
pay_type must be BANK_TRANSFER or EWALLET代付方式只接受 BANK_TRANSFER 或 EWALLET
payee_realname is required / payee_account is required缺少收款人必填字段
countryCode and currency must match merchant country config创建时误传了与开户国家不一致的参数(应省略这两项)

回调相关 ​

场景说明
未返回 OK平台将重试回调(退避:30s → 5m → 30m,最多约 200 次)
验签失败不要更新订单为成功,记录日志并告警;回调验签见 异步回调指南

重试建议 ​

场景建议
签名/时间戳/nonce 错误修正后重试,勿盲目重放
余额不足充值后使用 新 merchantOrderNo 或原单查询状态
网络超时先 查询订单 再决定是否重试创建

基于 MIT 许可证发布。

2-1-2 Nihonbashi-Hongokucho,Chuo-ku,Tokyo