简介
面向商户业务系统的开放 API —— 通过统一的接口完成代收(收款)与代付(付款)下单、订单查询、余额查询,并接收异步结果通知。
快速上手
获取商户编号(mchNum)
由平台运营人员开通商户账号后提供,作为接口身份标识。
生成 RSA 密钥对并配置公钥
商户自行生成 RSA 2048 密钥对,私钥自行保管用于请求签名,公钥提交给平台配置到商户档案,平台用它验证商户请求签名。
配置 API IP 白名单
将调用接口的服务器出口 IP 提供给平台配置(多个 IP 用 | 分隔)。未配置白名单时不限制来源 IP。
获取平台公钥
平台回调商户时使用平台私钥签名,商户需持有平台公钥验签,公钥由平台在商户管理「平台密钥设置」中提供。
对接接口并接收异步通知
按本文档完成下单 / 查询接口对接,在回调地址上验签并处理通知(详见各接口章节)。
接口规范
请求URL:https://<平台部署域名>/adminapi/openapi/payment/merchant(以下均省略此基础路径,以平台实际提供为准)
- 请求方式:统一
POST,Content-Type: application/json,字符编码 UTF-8;请求提交参数格式为 JSON 字符串。
- 身份标识:商户编号
mchNum 放在请求体 JSON 中。
- 请求签名:请求头
x-signature 携带 RSA 签名值(详见 签名算法)。
- 安全机制:RSA 验签 + IP 白名单双重校验;平台侧回调请求 / 响应全量留痕,便于排查。
统一响应结构
| 字段 | 类型 | 示例值 | 说明 |
| code | int | 200 | 返回码:200 成功500 失败 |
| msg | string | 操作成功 | 返回信息,失败时为具体错误原因 |
| data | object | {...} | 业务数据,无数据时该字段不返回 |
// 成功
{ "msg": "操作成功", "code": 200, "data": { ... } }
// 失败
{ "msg": "签名验证失败", "code": 500 }
接口速览
| # | 接口 | 路径 | 说明 |
| 2 | 代收下单 | POST /order/collect | 发起收款订单,返回支付链接 / 收款卡信息 |
| 3 | 代收异步通知 | POST <notifyUrl> | 平台推送代收订单结果到商户回调地址 |
| 4 | 查询代收订单 | POST /order/order-info | 按商户订单号查询代收订单最新状态 |
| 5 | 代付下单 | POST /order/pay | 发起付款订单,平台异步处理出款 |
| 6 | 代付异步通知 | POST <notifyUrl> | 平台推送代付订单结果到商户回调地址 |
| 7 | 查询代付订单 | POST /order/order-info | 按商户订单号查询代付订单最新状态 |
| 8 | 查询账户余额 | POST /mch/getMchInfoAccountOut | 查询商户账户余额与待结算金额 |
联调建议
平台提供内置测试接收端
POST /order/testCallback(模拟商户接收回调并验签,通过返回
ok、失败返回
verify fail),可用于验证平台回调签名链路;后台「回调记录」中可查看每次通知的完整请求报文、签名与响应详情。
1. 签名算法
平台采用 RSA 非对称签名(SHA256withRSA),商户请求需签名,平台回调商户需验签,双向保证报文不可篡改。
密钥体系
| 密钥 | 持有方 | 用途 |
| 商户私钥 | 商户自行保管 | 对商户 → 平台的请求体签名(请求头 x-signature) |
| 商户公钥 | 平台保存 | 平台验证商户请求签名(配置在商户档案中) |
| 平台私钥 | 平台保管 | 对平台 → 商户的回调报文签名(请求头 x-signature) |
| 平台公钥 | 商户持有 | 商户验证平台回调签名(由平台「平台密钥设置」提供) |
签名步骤(商户请求平台)
- 将请求体 JSON 全部字段按参数名(key)ASCII 码从小到大排序(字典序),序列化为紧凑 JSON 字符串(无多余空格、换行),得到待签名串。
- 使用商户私钥对待签名串执行
SHA256withRSA 签名,结果做 Base64 编码,得到签名值 sign。
- 将签名值放入请求头
x-signature,随原始请求体(内容不变)一起 POST。
sign = Base64( SHA256withRSA( sortJsonByKey(requestBody), 商户私钥 ) )
// 待签名串示例(按键名 ASCII 升序排列后的紧凑 JSON)
{"bankCode":"KTB","mchNum":"M10001","mchOrderNo":"202609010001",
"notifyUrl":"https://shop.example.com/notify","payMoney":100.00,
"paymentName":"Somchai","transAccNo":"8888888888888"}
验签步骤(商户接收平台回调)
- 读取请求头
x-signature 与原始请求体(raw body)。
- 将请求体 JSON 按 key ASCII 升序排序得到待验签串。
- 用平台公钥执行
SHA256withRSA 验签;通过后按业务处理,并响应 ok。
注意事项
- 密钥格式:RSA 2048 位,公钥 X509 / 私钥 PKCS#8,Base64(带或不带头尾行均可,平台会自动清理空白字符)。
- 签名串必须与请求体逐字节一致:先排序再序列化,勿在排序后修改字段值。
- 接口可能增加扩展字段,商户验签时必须兼容新增字段。
- 签名失败平台会直接拒绝请求(
签名验证失败),不会创建订单。
签名示例代码
Java
// 1. 排序: 请求体 JSON 按键名 ASCII 升序(TreeMap), 紧凑序列化
TreeMap<String, Object> sorted = new TreeMap<>();
sorted.putAll(JSON.parseObject(rawBody));
String signData = JSON.toJSONString(sorted);
// 2. SHA256withRSA 签名 → Base64
Signature signature = Signature.getInstance("SHA256withRSA");
signature.initSign(privateKey); // PKCS#8 Base64 私钥
signature.update(signData.getBytes(StandardCharsets.UTF_8));
String sign = Base64.getEncoder().encodeToString(signature.sign());
// 3. 放入请求头
headers.set("x-signature", sign);
PHP
// 1. 排序 + 紧凑 JSON(PHP 关联数组默认按 key 排序写入)
$body = json_decode($rawBody, true);
ksort($body);
$signData = json_encode($body, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
// 2. SHA256withRSA 签名 → Base64
openssl_sign($signData, $sign, $privateKey, OPENSSL_ALGO_SHA256);
$sign = base64_encode($sign);
Node.js
const crypto = require('crypto');
// 1. 排序 + 紧凑 JSON
const body = JSON.parse(rawBody);
const sorted = Object.keys(body).sort()
.reduce((acc, k) => (acc[k] = body[k], acc), {});
const signData = JSON.stringify(sorted);
// 2. SHA256withRSA 签名 → Base64
const signer = crypto.createSign('RSA-SHA256');
signer.update(signData);
const sign = signer.sign(privateKey, 'base64');
2. 代收下单
商户业务系统通过本接口发起收款订单,网关按商户绑定的代收通道路由完成下单,返回支付链接与收款信息,商户展示给付款用户完成支付。
POST
/adminapi/openapi/payment/merchant/order/collect
请求方式:POST Content-Type: application/json · 字符编码:UTF-8 · 请求头:x-signature
接口说明
- 商户订单号
mchOrderNo 在同一商户下必须唯一,重复将返回错误。
- 平台按商户绑定的代收通道(金额规则 + 权重)匹配通道后创建订单;无可用通道时报错
无可用代收通道。
- 订单有效期 10 分钟(
endTime 为失效时间),请引导用户在有效期内完成支付。
- 自营通道返回收款银行卡信息(
selfBankCard 相关字段),三方通道返回支付链接与二维码。
请求参数
| 字段名 | 名称 | 必填 | 类型 | 示例值 | 说明 |
| mchNum | 商户编号 | 是 | string | M10001 | 平台分配的商户编号 |
| mchOrderNo | 商户订单号 | 是 | string | 202609010001 | 商户系统内唯一订单号 |
| payMoney | 支付金额 | 是 | number | 100.00 | 订单金额,必须大于 0 |
| transAccNo | 付款账号 | 是 | string | 8888888888888 | 付款人转账账号 / 卡号 |
| paymentName | 付款人姓名 | 是 | string | Somchai | 付款人姓名 |
| bankCode | 银行编码 | 是 | string | KTB | 付款银行编码 |
| paymentMobile | 付款人手机号 | 否 | string | 0812345678 | 付款人手机号 |
| notifyUrl | 异步通知地址 | 是 | string | https://shop.example.com/notify | 订单结果异步回调 URL,详见 代收异步通知 |
{
"mchNum": "M10001",
"mchOrderNo": "202609010001",
"payMoney": 100.00,
"transAccNo": "8888888888888",
"paymentName": "Somchai",
"bankCode": "KTB",
"paymentMobile": "0812345678",
"notifyUrl": "https://shop.example.com/notify"
}
返回参数(data)
| 字段名 | 名称 | 类型 | 示例值 | 说明 |
| mchNum | 商户编号 | string | M10001 | 商户编号 |
| paymentName | 付款人姓名 | string | Somchai | 请求传入的付款人姓名 |
| transAccNo | 付款账号 | string | 8888888888888 | 请求传入的付款账号 |
| orderCreateTime | 下单时间 | string | 2026-09-01 10:00:00 | 格式 yyyy-MM-dd HH:mm:ss |
| payMoney | 支付金额 | number | 100.00 | 订单金额 |
| paymentImageBase64 | 收款二维码 | string | iVBORw0KGgo... | 支付链接对应二维码 PNG 的 Base64,可直接展示 |
| createTime | 下单时间 | string | 2026-09-01 10:00:00 | 同 orderCreateTime |
| endTime | 订单失效时间 | string | 2026-09-01 10:10:00 | 下单后 10 分钟失效 |
| paymentLink | 支付链接 | string | https://...?orderNo=P... | 收银台支付页地址,需展示给付款用户 |
| selfBankCard | 自营通道标记 | boolean | true | 自营通道时返回,代表后续为收款卡信息 |
| bankCardNo | 收款卡号 | string | xxx-xxx-1234 | 自营通道返回:用户需向该卡转账 |
| bankHolder | 收款人 | string | Somsak | 自营通道返回:收款人姓名 |
| bankName | 收款银行 | string | KTB | 自营通道返回:收款银行名称 |
{
"msg": "操作成功",
"code": 200,
"data": {
"mchNum": "M10001",
"paymentName": "Somchai",
"transAccNo": "8888888888888",
"orderCreateTime": "2026-09-01 10:00:00",
"payMoney": 100.00,
"paymentImageBase64": "iVBORw0KGgo...",
"createTime": "2026-09-01 10:00:00",
"endTime": "2026-09-01 10:10:00",
"paymentLink": "https://pay.example.com/cashier?orderNo=P2026090110000001",
"selfBankCard": true,
"bankCardNo": "xxx-xxx-1234",
"bankHolder": "Somsak",
"bankName": "KTB"
}
}
3. 代收异步通知
代收订单支付结果确定后(成功或失败),平台向商户下单时传入的 notifyUrl 发起 POST 回调,商户验签通过后应答 ok。
POST
<notifyUrl>(商户提供的回调地址)
请求方式:POST Content-Type: application/json · 签名请求头:x-signature(平台私钥签名)
通知说明
- 商户需用平台公钥对报文验签(步骤见 签名算法),验签通过后再处理业务。
- 应答标准:HTTP 状态码 2xx 且响应体为
ok(忽略大小写与首尾空白),平台视为通知成功;其余情况视为失败。
- 每次通知的请求报文、签名、HTTP 状态与商户响应都会在平台留痕,可在后台「回调记录」中查询,便于联调排查。
- 建议商户对未收到通知 / 通知失败的订单,通过 查询代收订单 主动兜底核对。
通知参数(请求体)
| 字段名 | 名称 | 类型 | 示例值 | 说明 |
| platformOrderNo | 平台订单号 | string | P2026090110000001 | 平台生成的订单号 |
| mchOrderNo | 商户订单号 | string | 202609010001 | 商户下单时传入的订单号 |
| mchNum | 商户编号 | string | M10001 | 商户编号 |
| mchName | 商户名称 | string | 示例商户 | 商户名称 |
| requestAmount | 订单金额 | number | 100.00 | 下单请求金额 |
| actualPayAmount | 实际支付金额 | number | 100.00 | 实际到账金额 |
| mchFeeAmount | 商户手续费 | number | 2.50 | 本单手续费 |
| orderStatus | 订单状态 | string | success | success 成功fail 失败 |
| errorMessage | 错误信息 | string | | 失败原因,成功时为空字符串 |
// 平台回调请求示例(x-signature 为平台私钥对下列排序 JSON 的签名)
{
"platformOrderNo": "P2026090110000001",
"mchOrderNo": "202609010001",
"mchNum": "M10001",
"mchName": "示例商户",
"requestAmount": 100.00,
"actualPayAmount": 100.00,
"mchFeeAmount": 2.50,
"orderStatus": "success",
"errorMessage": ""
}
商户应答
// 验签通过并处理完成业务后, 响应(HTTP 200):
ok
// 验签失败可返回(平台视为通知失败, 便于在回调记录中定位):
verify fail
安全提醒
务必
先验签后处理业务,并校验
mchNum、
mchOrderNo、
requestAmount 与商户系统订单一致,防止伪造回调与金额篡改。
4. 查询代收订单
商户通过本接口按商户订单号查询代收订单最新状态,用于结果核对与通知失败的兜底补偿。
POST
/adminapi/openapi/payment/merchant/order/order-info
请求方式:POST Content-Type: application/json · 字符编码:UTF-8 · 请求头:x-signature
请求参数
| 字段名 | 名称 | 必填 | 类型 | 示例值 | 说明 |
| mchNum | 商户编号 | 是 | string | M10001 | 商户编号 |
| mchOrderNo | 商户订单号 | 是 | string | 202609010001 | 下单时商户传入的订单号 |
| queryType | 查询类型 | 是 | string | collect | 查询代收订单固定传 collect;pay 为代付(见第 7 章) |
{
"mchNum": "M10001",
"mchOrderNo": "202609010001",
"queryType": "collect"
}
返回参数(data)
| 字段名 | 名称 | 类型 | 示例值 | 说明 |
| mchNum | 商户编号 | string | M10001 | 商户编号 |
| mchName | 商户名称 | string | 示例商户 | 商户名称 |
| platformOrderNo | 平台订单号 | string | P2026090110000001 | 平台生成的订单号 |
| mchOrderNo | 商户订单号 | string | 202609010001 | 商户订单号 |
| requestAmount | 订单金额 | number | 100.00 | 下单请求金额 |
| actualPayAmount | 实际支付金额 | number | 100.00 | 实际到账金额,未实际支付时等于订单金额 |
| mchFeeAmount | 商户手续费 | number | 2.50 | 本单手续费 |
| orderStatus | 订单状态 | string | success | await / success / fail / awaitfail,详见 订单状态与错误码 |
| settlementStatus | 结算状态 | string | UNSETTLED | 结算状态,当前固定 UNSETTLED(未结算) |
{
"msg": "操作成功",
"code": 200,
"data": {
"mchNum": "M10001",
"mchName": "示例商户",
"platformOrderNo": "P2026090110000001",
"mchOrderNo": "202609010001",
"requestAmount": 100.00,
"actualPayAmount": 100.00,
"mchFeeAmount": 2.50,
"orderStatus": "success",
"settlementStatus": "UNSETTLED"
}
}
5. 代付下单
商户业务系统通过本接口发起付款(出款)订单,平台校验并扣减商户余额后按代付通道路由出款,结果通过异步通知告知商户。
POST
/adminapi/openapi/payment/merchant/order/pay
请求方式:POST Content-Type: application/json · 字符编码:UTF-8 · 请求头:x-signature
接口说明
- 商户订单号
mchOrderNo 在同一商户下必须唯一(与代收订单号相互独立)。
- 下单即校验商户可用余额是否充足并扣减,余额不足或无可用代付通道时报错。
- 代付为异步处理:本接口成功仅代表受理成功(
data 为空),最终结果以异步通知 / 主动查询为准。
请求参数
| 字段名 | 名称 | 必填 | 类型 | 示例值 | 说明 |
| mchNum | 商户编号 | 是 | string | M10001 | 平台分配的商户编号 |
| mchOrderNo | 商户订单号 | 是 | string | P202609020001 | 商户系统内唯一订单号 |
| payMoney | 付款金额 | 是 | number | 500.00 | 出款金额,必须大于 0 |
| transAccNo | 收款账号 | 是 | string | 9999999999999 | 收款人银行卡号 / 账号 |
| paymentName | 收款人姓名 | 是 | string | Somsak | 收款人姓名 |
| bankCode | 银行编码 | 是 | string | KBANK | 收款银行编码 |
| paymentMobile | 收款人手机号 | 是 | string | 0898765432 | 收款人手机号 |
| description | 业务描述 | 是 | string | 商家提现 | 付款业务描述 |
| notifyUrl | 异步通知地址 | 是 | string | https://shop.example.com/pay-notify | 订单结果异步回调 URL,详见 代付异步通知 |
| email | 收款人邮箱 | 否 | string | a@b.com | 收款人邮箱 |
{
"mchNum": "M10001",
"mchOrderNo": "P202609020001",
"payMoney": 500.00,
"transAccNo": "9999999999999",
"paymentName": "Somsak",
"bankCode": "KBANK",
"paymentMobile": "0898765432",
"description": "商家提现",
"notifyUrl": "https://shop.example.com/pay-notify",
"email": "merchant@example.com"
}
返回参数
受理成功时 code=200、msg=操作成功,无 data;最终出款结果通过异步通知或查询接口获取。
{ "msg": "操作成功", "code": 200 }
6. 代付异步通知
代付订单出款结果确定后(成功或失败),平台向商户下单时传入的 notifyUrl 发起 POST 回调,商户验签通过后应答 ok。
POST
<notifyUrl>(商户提供的回调地址)
请求方式:POST Content-Type: application/json · 签名请求头:x-signature(平台私钥签名)
通知说明
- 商户需用平台公钥对报文验签,通过后再处理业务。
- 应答标准:HTTP 2xx 且响应体
ok,平台视为通知成功;否则视为失败。
- 每次通知在后台「回调记录」留痕;建议以 查询代付订单 兜底核对。
通知参数(请求体)
| 字段名 | 名称 | 类型 | 示例值 | 说明 |
| platformOrderNo | 平台订单号 | string | F2026090210000001 | 平台生成的代付订单号 |
| mchOrderNo | 商户订单号 | string | P202609020001 | 商户下单时传入的订单号 |
| mchNum | 商户编号 | string | M10001 | 商户编号 |
| mchName | 商户名称 | string | 示例商户 | 商户名称 |
| requestAmount | 付款金额 | number | 500.00 | 下单请求金额 |
| mchFeeAmount | 商户手续费 | number | 5.00 | 本单手续费 |
| orderStatus | 订单状态 | string | success | success 成功fail 失败 |
| errorMessage | 错误信息 | string | | 失败原因,成功时为空字符串 |
{
"platformOrderNo": "F2026090210000001",
"mchOrderNo": "P202609020001",
"mchNum": "M10001",
"mchName": "示例商户",
"requestAmount": 500.00,
"mchFeeAmount": 5.00,
"orderStatus": "success",
"errorMessage": ""
}
商户应答
// 验签通过并处理完成业务后, 响应(HTTP 200):
ok
7. 查询代付订单
商户通过本接口按商户订单号查询代付订单最新状态。
POST
/adminapi/openapi/payment/merchant/order/order-info
请求方式:POST Content-Type: application/json · 字符编码:UTF-8 · 请求头:x-signature
请求参数
| 字段名 | 名称 | 必填 | 类型 | 示例值 | 说明 |
| mchNum | 商户编号 | 是 | string | M10001 | 商户编号 |
| mchOrderNo | 商户订单号 | 是 | string | P202609020001 | 下单时商户传入的订单号 |
| queryType | 查询类型 | 是 | string | pay | 查询代付订单固定传 pay |
{
"mchNum": "M10001",
"mchOrderNo": "P202609020001",
"queryType": "pay"
}
返回参数(data)
| 字段名 | 名称 | 类型 | 示例值 | 说明 |
| mchNum | 商户编号 | string | M10001 | 商户编号 |
| mchName | 商户名称 | string | 示例商户 | 商户名称 |
| platformOrderNo | 平台订单号 | string | F2026090210000001 | 平台生成的代付订单号 |
| mchOrderNo | 商户订单号 | string | P202609020001 | 商户订单号 |
| requestAmount | 付款金额 | number | 500.00 | 下单请求金额 |
| actualPayAmount | 实际付款金额 | number | 500.00 | 实际出款金额(当前等于付款金额) |
| mchFeeAmount | 商户手续费 | number | 5.00 | 本单手续费 |
| orderStatus | 订单状态 | string | success | await / success / fail,详见 订单状态与错误码 |
| settlementStatus | 结算状态 | string | UNSETTLED | 结算状态,当前固定 UNSETTLED |
{
"msg": "操作成功",
"code": 200,
"data": {
"mchNum": "M10001",
"mchName": "示例商户",
"platformOrderNo": "F2026090210000001",
"mchOrderNo": "P202609020001",
"requestAmount": 500.00,
"actualPayAmount": 500.00,
"mchFeeAmount": 5.00,
"orderStatus": "success",
"settlementStatus": "UNSETTLED"
}
}
8. 查询账户余额
商户通过本接口查询账户可用余额、冻结金额与待结算金额,用于出款前的余额核对。
POST
/adminapi/openapi/payment/merchant/mch/getMchInfoAccountOut
请求方式:POST Content-Type: application/json · 字符编码:UTF-8 · 请求头:x-signature
请求参数
| 字段名 | 名称 | 必填 | 类型 | 示例值 | 说明 |
| mchNum | 商户编号 | 是 | string | M10001 | 商户编号 |
| currency | 币种 | 是 | string | THB | 查询的币种 |
{
"mchNum": "M10001",
"currency": "THB"
}
返回参数(data)
| 字段名 | 名称 | 类型 | 示例值 | 说明 |
| mchNum | 商户编号 | string | M10001 | 商户编号 |
| mchName | 商户名称 | string | 示例商户 | 商户名称 |
| currency | 币种 | string | THB | 请求传入的币种 |
| balance | 可用余额 | number | 12500.00 | 可用于代付下单的余额 |
| freeze | 冻结金额 | number | 0.00 | 冻结金额 |
| waitingSettleAmount | 待结算金额 | number | 3000.00 | 待结算金额 |
| freezeWaitingSettleAmount | 冻结待结算金额 | number | 0.00 | 冻结中的待结算金额 |
| totalAmount | 总金额 | number | 15500.00 | balance + freeze + waitingSettleAmount |
{
"msg": "操作成功",
"code": 200,
"data": {
"mchNum": "M10001",
"mchName": "示例商户",
"currency": "THB",
"balance": 12500.00,
"freeze": 0.00,
"waitingSettleAmount": 3000.00,
"freezeWaitingSettleAmount": 0.00,
"totalAmount": 15500.00
}
}
9. 订单状态与错误码
订单状态取值说明与接口常见错误信息,便于商户系统做状态映射与异常处理。
订单状态(orderStatus)
| 取值 | 含义 | 适用 | 说明 |
| await | 处理中 | 代收 / 代付 | 订单已创建,等待支付或出款结果 |
| success | 成功 | 代收 / 代付 | 收款到账 / 出款成功,终态 |
| fail | 失败 | 代收 / 代付 | 支付失败 / 出款失败,终态 |
| awaitfail | 异常待确认 | 仅代收 | 订单异常待人工确认,最终以通知或后续查询为准 |
返回码
| code | 含义 | 说明 |
| 200 | 成功 | 业务受理 / 查询成功 |
| 500 | 失败 | 业务失败,msg 为具体错误原因 |
常见错误信息(msg)
| 错误信息 | 原因与处理建议 |
| 请求体不是合法JSON | 请求体不是合法 JSON,检查序列化与 Content-Type |
| 缺少参数:mchNum | 请求体缺少商户编号 |
| 商户不存在:{mchNum} | 商户编号有误或未开通 |
| 商户已被禁用 | 商户被平台禁用,联系平台处理 |
| IP不在白名单中:{ip} | 调用方 IP 未配置到商户 API 白名单(多个 IP 用 | 分隔) |
| 缺少请求头:x-signature | 未携带签名请求头 |
| 商户未配置验签公钥 | 平台侧未配置商户公钥,先完成对接配置 |
| 签名验证失败 | 签名不匹配:检查排序规则、序列化格式与私钥是否正确 |
| payMoney必须大于0 | 金额非法 |
| [代收订单]商户订单号重复:{no} | 代收 mchOrderNo 已存在,更换订单号重试 |
| [代付订单]商户订单号重复:{no} | 代付 mchOrderNo 已存在,更换订单号重试 |
| 无可用代收通道 / 无可用代付通道 | 商户未绑定通道、通道已停用或金额不在通道规则区间,联系平台配置 |
| 订单不存在:{no} | 查询的商户订单号不存在 |
| queryType仅支持: collect/pay | 查询类型取值非法 |
| 平台未配置RSA私钥... | 平台回调签名私钥未配置(平台侧问题),联系平台在「平台密钥设置」中配置 |
排查助手
所有商户请求与平台回调均在平台留痕(回调记录含完整请求报文、签名、HTTP 状态与响应),联调对账时请提供
mchNum 与
mchOrderNo 以便快速定位。