错误码
接口出错时 HTTP 状态码仍然是 200,返回内容里的 code 不是 0:
json
{ "code": 40005, "message": "Request IP 203.0.113.10 is not in the merchant whitelist" }message 是英文说明,可能带上具体的值,请按 code 判断,不要按 message 的文字判断。
错误码列表
| code | 含义 | 怎么处理 |
|---|---|---|
| 0 | 成功 | |
| 400 | 业务失败,常见的是 USDT 余额不足、收款通道请求失败、操作失败 | 看 message;余额不足先充值 |
| 500 | 平台内部错误(message 固定为「请求发生错误」) | 稍后重试;涉及下单、出款的,先用查询订单确认有没有建成,再决定是否重试 |
| 40000 | 解密失败,或者缺少必填参数(商户订单号、cardId、查询时间段等,message 会说明) | 检查公钥是否最新、填充方式是否 PKCS#1 v1.5、参数是否齐全 |
| 40001 | 商户号不存在 | 检查 merchantNo |
| 40002 | 商户已停用 | 联系平台 |
| 40003 | 商户没有开通开放接口 | 联系平台 |
| 40004 | 没有设置回调地址 | 在商户后台设置回调地址,或下单时传 callbackUrl |
| 40005 | 请求 IP 不在白名单 | 把服务器出口 IP 加进商户后台的 IP 白名单 |
| 40007 | 商户订单号重复 | 换一个新的商户订单号;如果是超时后重试,先查一下原订单 |
| 40010 | 不支持这个法币(不存在或已停用) | 检查 currencyType |
| 40011 | 没有可用的匹配池 | 联系平台 |
| 40012 | 暂时没有能接这个金额的交易员,或金额不在可下单范围 | 换个金额或稍后再试 |
| 40013 | 可用额度不足 | 换个金额或稍后再试 |
| 40015 | 客户在黑名单,或属于平台不支持的客户 / 地区 | 不要再为这个客户下单 |
| 40016 | 不支持这个收款方式 | 用查询收款方式查可用的编号 |
| 40017 | 商户没有开通这个法币 | 联系平台开通 |
| 40018 | 收款信息不符合这个收款方式的要求(message 会说明哪一项) | 按查询收款方式返回的字段要求填写 |
| 40019 | 金额不对:必须大于 0、最多两位小数 | 修正金额 |
| 40020 | 订单不存在 | 检查商户订单号;只能查到自己商户的订单 |
| 40021 | 订单当前状态不能做这个操作(比如已经付款的单不能取消) | 先查询订单状态 |
| 40023 | cardId 不是这笔订单分到的收款卡 | 只能用自建收银台下单返回的 cards 里的 cardId |
网络超时怎么办
下单、出款接口超时(没拿到返回)时,不要直接换一个商户订单号重新下单。先用原来的商户订单号查询订单:查到了说明已经建成;返回 40020 再用同一个商户订单号重试,平台会用 40007 挡住重复的单。