國際匯款(CN入境)
概述
本文檔匯總 匯款(remit) 與 轉帳(transfer) 相關開放介面(含 MEPay 等通道),包括請求說明、參數表與請求/回應範例。通用約定:POST 請求、application/json 或 application/x-www-form-urlencoded;簽名字段見接入規則。
汇款充值
商户通过该接口进行汇款充值提交,系统会调用对应转账通道处理充值请求。
接口说明
请求URL:/api/remit/recharge
请求方式:POST
请求类型:application/json 或 application/x-www-form-urlencoded
请求参数
| 字段名 | 变量名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 商户号 | mchNo | 是 | String | 商户号 |
| 应用ID | appId | 是 | String | 商户应用ID |
| 支付接口代码 | ifCode | 是 | String | 转账通道代码 |
| 凭证号 | voucherNo | 是 | String | 充值凭证号 |
| 银行账号 | accountNo | 是 | String | 充值来源账号 |
| 充值币种 | currency | 是 | String | 充值币种 |
| 充值金额 | amount | 是 | Long | 金额(分),最小值1 |
| 附件 | attachment | 否 | String | 附件地址或标识 |
| 文件Base64流 | fileBase64Str | 否 | String | 文件Base64内容 |
| 文件名 | fileName | 否 | String | 上传文件名 |
| 付款银行名称 | payerBankName | 否 | String | 付款银行 |
| 商户名称 | mchName | 否 | String | 商户名称 |
| 请求时间 | reqTime | 是 | String | 13位时间戳 |
| 接口版本 | version | 是 | String | 固定为1.0 |
| 签名 | sign | 是 | String | 签名值 |
| 签名类型 | signType | 是 | String | 签名类型(如MD5) |
请求示例数据
{
"mchNo": "M1623984572",
"appId": "60cc09bce4b0f1c0b83761c9",
"ifCode": "MEPay",
"voucherNo": "VR202603310001",
"accountNo": "6222021234567890123",
"currency": "HKD",
"amount": 100000,
"attachment": "",
"fileBase64Str": "",
"fileName": "",
"payerBankName": "示例银行",
"mchName": "示例商户",
"reqTime": "1711850400000",
"version": "1.0",
"signType": "MD5",
"sign": "C380BEC2BFD727A4B6845133519F3AD6"
}返回参数
| 字段名 | 变量名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 返回状态 | code | 是 | Integer | 0表示成功,其他为失败 |
| 返回信息 | msg | 否 | String | 错误描述 |
| 签名信息 | sign | 否 | String | 对data签名 |
| 返回数据 | data | 否 | Object | 业务返回数据(本接口无固定字段) |
返回示例数据(成功)
{
"code": 0,
"msg": "SUCCESS",
"data": {},
"sign": "F4DA202C516D1F33A12F1E547C5004FD"
}返回示例数据(失败,code 为 9999 表示业务失败)
{
"code": 9999,
"msg": "应用未开通此接口配置!",
"data": null,
"sign": null
}查询汇款汇率
商户查询汇款汇率信息,返回可用汇率列表(含部分通道扩展字段)。
接口说明
请求URL:/api/remit/queryExRate
请求方式:POST
请求类型:application/json 或 application/x-www-form-urlencoded
请求参数
| 字段名 | 变量名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 商户号 | mchNo | 是 | String | 商户号 |
| 应用ID | appId | 是 | String | 商户应用ID |
| 支付接口代码 | ifCode | 是 | String | 转账通道代码 |
| 源币种 | sourceCurrency | 否 | String | 源币种(MEPay渠道) |
| 目标币种 | targetCurrency | 否 | String | 目标币种(MEPay渠道) |
| 目标金额 | targetAmount | 否 | BigDecimal | 目标金额(MEPay渠道) |
| 请求时间 | reqTime | 是 | String | 13位时间戳 |
| 接口版本 | version | 是 | String | 固定为1.0 |
| 签名 | sign | 是 | String | 签名值 |
| 签名类型 | signType | 是 | String | 签名类型 |
请求示例数据
{
"mchNo": "M1623984572",
"appId": "60cc09bce4b0f1c0b83761c9",
"ifCode": "MEPay",
"sourceCurrency": "HKD",
"targetCurrency": "CNY",
"targetAmount": 1000.00,
"reqTime": "1711850400000",
"version": "1.0",
"signType": "MD5",
"sign": "C380BEC2BFD727A4B6845133519F3AD6"
}返回参数
| 字段名 | 变量名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 返回状态 | code | 是 | Integer | 0表示成功,其他为失败 |
| 返回信息 | msg | 否 | String | 错误描述 |
| 签名信息 | sign | 否 | String | 对data签名 |
| 返回数据 | data | 否 | Object | 业务返回对象 |
data.list字段
| 字段名 | 变量名 | 类型 | 描述 |
|---|---|---|---|
| 源币种 | source | String | 汇率源币种 |
| 目标币种 | target | String | 汇率目标币种 |
| 汇率 | rate | BigDecimal | 兑换汇率 |
| 报价ID | quoteId | String | 汇率报价ID(预下单可用) |
| 目标金额 | targetAmount | BigDecimal | 汇率目标金额 |
| 源金额 | sourceAmount | BigDecimal | 汇率源金额(不含手续费) |
| 过期时间 | expireTime | LocalDateTime | 汇率过期时间 |
返回示例数据(成功)
{
"code": 0,
"msg": "SUCCESS",
"data": {
"list": [
{
"source": "HKD",
"target": "CNY",
"rate": 0.92,
"quoteId": "QUOTE202603310001",
"targetAmount": 1000.00,
"sourceAmount": 1086.96,
"expireTime": "2026-03-31T12:00:00"
}
]
},
"sign": "9548145EA12D0CD8C1628BCF44E19E0D"
}返回示例数据(失败)
{
"code": 9999,
"msg": "获取商户应用信息失败",
"data": null,
"sign": null
}查询汇款限额
商户查询当前汇款业务可用限额信息。
接口说明
请求URL:/api/remit/limit
请求方式:POST
请求类型:application/json 或 application/x-www-form-urlencoded
请求参数
| 字段名 | 变量名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 商户号 | mchNo | 是 | String | 商户号 |
| 应用ID | appId | 是 | String | 商户应用ID |
| 支付接口代码 | ifCode | 是 | String | 转账通道代码 |
| 请求时间 | reqTime | 是 | String | 13位时间戳 |
| 接口版本 | version | 是 | String | 固定为1.0 |
| 签名 | sign | 是 | String | 签名值 |
| 签名类型 | signType | 是 | String | 签名类型 |
请求示例数据
{
"mchNo": "M1623984572",
"appId": "60cc09bce4b0f1c0b83761c9",
"ifCode": "MEPay",
"reqTime": "1711850400000",
"version": "1.0",
"signType": "MD5",
"sign": "C380BEC2BFD727A4B6845133519F3AD6"
}返回参数
| 字段名 | 变量名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 返回状态 | code | 是 | Integer | 0表示成功,其他为失败 |
| 返回信息 | msg | 否 | String | 错误描述 |
| 签名信息 | sign | 否 | String | 对data签名 |
| 返回数据 | data | 否 | Object | 业务返回对象 |
data.list字段
| 字段名 | 变量名 | 类型 | 描述 |
|---|---|---|---|
| 币种 | currency | String | 限额币种 |
| 单笔限额 | singleTransactionLimit | BigDecimal | 单笔最大金额 |
| 日限额 | dailyLimit | BigDecimal | 当日累计限额 |
| 年限额 | annualLimit | BigDecimal | 年累计限额 |
返回示例数据(成功)
{
"code": 0,
"msg": "SUCCESS",
"data": {
"list": [
{
"currency": "HKD",
"singleTransactionLimit": 500000.00,
"dailyLimit": 2000000.00,
"annualLimit": 50000000.00
}
]
},
"sign": "9548145EA12D0CD8C1628BCF44E19E0D"
}返回示例数据(失败)
{
"code": 9999,
"msg": "应用未开通此接口配置!",
"data": null,
"sign": null
}查询汇款账户
商户查询汇款账户余额信息。
接口说明
请求URL:/api/remit/account
请求方式:POST
请求类型:application/json 或 application/x-www-form-urlencoded
请求参数
| 字段名 | 变量名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 商户号 | mchNo | 是 | String | 商户号 |
| 应用ID | appId | 是 | String | 商户应用ID |
| 支付接口代码 | ifCode | 是 | String | 转账通道代码 |
| 请求时间 | reqTime | 是 | String | 13位时间戳 |
| 接口版本 | version | 是 | String | 固定为1.0 |
| 签名 | sign | 是 | String | 签名值 |
| 签名类型 | signType | 是 | String | 签名类型 |
请求示例数据
{
"mchNo": "M1623984572",
"appId": "60cc09bce4b0f1c0b83761c9",
"ifCode": "MEPay",
"reqTime": "1711850400000",
"version": "1.0",
"signType": "MD5",
"sign": "C380BEC2BFD727A4B6845133519F3AD6"
}返回参数
| 字段名 | 变量名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 返回状态 | code | 是 | Integer | 0表示成功,其他为失败 |
| 返回信息 | msg | 否 | String | 错误描述 |
| 签名信息 | sign | 否 | String | 对data签名 |
| 返回数据 | data | 否 | Object | 业务返回对象 |
data.list字段
| 字段名 | 变量名 | 类型 | 描述 |
|---|---|---|---|
| 币种 | currency | String | 账户币种 |
| 余额 | balance | String | 账户可用余额 |
| 冻结余额 | frozenBalance | String | 冻结金额 |
| 待支付余额 | pendingBalance | String | 待支付金额 |
| 授信额度 | creditLimit | String | 授信总额度 |
| 授信余额 | creditBalance | String | 授信剩余额度 |
| 账户号 | accountNo | Long | 账户编号 |
| 账户名称 | accountName | String | 账户名称 |
返回示例数据(成功)
{
"code": 0,
"msg": "SUCCESS",
"data": {
"list": [
{
"currency": "HKD",
"balance": "100000.00",
"frozenBalance": "0.00",
"pendingBalance": "500.00",
"creditLimit": "0.00",
"creditBalance": "0.00",
"accountNo": 10086001,
"accountName": "示例汇款账户"
}
]
},
"sign": "9548145EA12D0CD8C1628BCF44E19E0D"
}返回示例数据(失败)
{
"code": 9999,
"msg": "无此转账通道接口",
"data": null,
"sign": null
}查询汇款账户明细
商户按分页条件查询汇款账户流水明细。
接口说明
请求URL:/api/remit/account/list
请求方式:POST
请求类型:application/json 或 application/x-www-form-urlencoded
请求参数
| 字段名 | 变量名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 商户号 | mchNo | 是 | String | 商户号 |
| 应用ID | appId | 是 | String | 商户应用ID |
| 支付接口代码 | ifCode | 是 | String | 转账通道代码 |
| 每页条数 | pageSize | 是 | Integer | 分页大小 |
| 页码 | pageNumber | 是 | Integer | 当前页(从1开始) |
| 开始日期 | startDate | 否 | String | 查询开始日期 |
| 结束日期 | endDate | 否 | String | 查询结束日期 |
| 账号 | accountNo | 否 | Long | 账户号 |
| 请求时间 | reqTime | 是 | String | 13位时间戳 |
| 接口版本 | version | 是 | String | 固定为1.0 |
| 签名 | sign | 是 | String | 签名值 |
| 签名类型 | signType | 是 | String | 签名类型 |
请求示例数据
{
"mchNo": "M1623984572",
"appId": "60cc09bce4b0f1c0b83761c9",
"ifCode": "MEPay",
"pageSize": 10,
"pageNumber": 1,
"startDate": "2026-03-01",
"endDate": "2026-03-31",
"accountNo": 10086001,
"reqTime": "1711850400000",
"version": "1.0",
"signType": "MD5",
"sign": "C380BEC2BFD727A4B6845133519F3AD6"
}返回参数
| 字段名 | 变量名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 返回状态 | code | 是 | Integer | 0表示成功,其他为失败 |
| 返回信息 | msg | 否 | String | 错误描述 |
| 签名信息 | sign | 否 | String | 对data签名 |
| 返回数据 | data | 否 | Object | 业务返回对象 |
data.page.records字段
| 字段名 | 变量名 | 类型 | 描述 |
|---|---|---|---|
| 流水号 | no | String | 账户流水号 |
| 币种 | currency | String | 币种 |
| 变动前额度 | beforeBalance | String | 变更前余额 |
| 变动后额度 | afterBalance | String | 变更后余额 |
| 存入金额 | credit | String | 入账金额 |
| 支出金额 | debit | String | 出账金额 |
| 条目名称 | item | String | 明细条目 |
| 渠道订单号 | channelOrderNo | String | 渠道侧订单号 |
| 类型 | type | String | 明细类型 |
| 时间 | dateTime | Date | 明细时间 |
返回示例数据(成功,data.page 为 MyBatis-Plus 分页对象序列化结果)
{
"code": 0,
"msg": "SUCCESS",
"data": {
"page": {
"records": [
{
"no": "DTL202603310001",
"currency": "HKD",
"beforeBalance": "100000.00",
"afterBalance": "99500.00",
"credit": "0.00",
"debit": "500.00",
"item": "转账支出",
"channelOrderNo": "CH202603310001",
"type": "DEBIT",
"dateTime": "2026-03-31T10:30:00.000+00:00"
}
],
"total": 1,
"size": 10,
"current": 1,
"pages": 1
}
},
"sign": "9548145EA12D0CD8C1628BCF44E19E0D"
}返回示例数据(失败)
{
"code": 9999,
"msg": "获取商户应用信息失败",
"data": null,
"sign": null
}创建转账订单
商户发起创建转账单请求,系统完成预校验并调用通道创建转账订单。
接口说明
请求URL:/api/transferOrder
请求方式:POST
请求类型:application/json 或 application/x-www-form-urlencoded
请求参数
| 字段名 | 变量名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 商户号 | mchNo | 是 | String | 商户号 |
| 应用ID | appId | 是 | String | 商户应用ID |
| 商户订单号 | mchOrderNo | 是 | String | 商户侧唯一订单号 |
| 支付接口代码 | ifCode | 是 | String | 转账通道代码 |
| 入账方式 | entryType | 是 | String | 如WX_CASH/ALIPAY_CASH/BANK_CARD |
| 转账金额 | amount | 是 | Long | 金额(分),最小值1 |
| 支付币种 | payCurrency | 是 | String | 支付币种 |
| 目标币种 | currency | 是 | String | 入账币种 |
| 汇率 | exchangeRate | 是 | BigDecimal | 实际汇率 |
| 付款人 | payer | 是 | String | 付款人信息(JSON字符串) |
| 收款人 | payee | 是 | String | 收款人信息(JSON字符串) |
| 客户端IP | clientIp | 否 | String | 客户端IP |
| 转账用途 | transferReason | 是 | String | 用途说明 |
| 转账备注 | transferDesc | 是 | String | 备注信息 |
| 异步通知地址 | notifyUrl | 否 | String | 商户通知地址 |
| 渠道扩展参数 | channelExtra | 否 | String | 通道扩展JSON |
| 商户扩展参数 | extParam | 否 | String | 回传扩展字段 |
| 报价ID | quoteId | 否 | String | 部分通道汇率报价ID |
| 请求时间 | reqTime | 是 | String | 13位时间戳 |
| 接口版本 | version | 是 | String | 固定为1.0 |
| 签名 | sign | 是 | String | 签名值 |
| 签名类型 | signType | 是 | String | 签名类型 |
请求示例数据
{
"mchNo": "M1623984572",
"appId": "60cc09bce4b0f1c0b83761c9",
"mchOrderNo": "mho20260331100001",
"ifCode": "MEPay",
"entryType": "BANK_CARD",
"amount": 10000,
"payCurrency": "HKD",
"currency": "HKD",
"exchangeRate": 1.0,
"payer": "{\"name\":\"张三\",\"accountNo\":\"6222021234567890123\"}",
"payee": "{\"name\":\"李四\",\"accountNo\":\"6214851234567890123\",\"bankName\":\"示例银行\"}",
"clientIp": "192.168.1.100",
"transferReason": "货款",
"transferDesc": "2026年3月货款",
"notifyUrl": "https://www.example.com/notify/transfer",
"channelExtra": "",
"extParam": "ref-001",
"quoteId": "QUOTE202603310001",
"reqTime": "1711850400000",
"version": "1.0",
"signType": "MD5",
"sign": "C380BEC2BFD727A4B6845133519F3AD6"
}返回参数
| 字段名 | 变量名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 返回状态 | code | 是 | Integer | 0表示成功,其他为失败 |
| 返回信息 | msg | 否 | String | 错误描述 |
| 签名信息 | sign | 否 | String | 对data签名 |
| 返回数据 | data | 否 | Object | 创建结果数据 |
data字段
| 字段名 | 变量名 | 类型 | 描述 |
|---|---|---|---|
| 转账单号 | transferId | String | 平台转账单号 |
| 商户订单号 | mchOrderNo | String | 商户订单号 |
| 转账金额 | amount | Long | 转账金额(分) |
| 收款账号 | accountNo | String | 收款账号 |
| 收款人姓名 | accountName | String | 收款人姓名 |
| 收款人开户行 | bankName | String | 开户行名称 |
| 订单状态 | state | Byte | 订单状态 |
| 渠道订单号 | channelOrderNo | String | 通道订单号 |
| 渠道错误码 | errCode | String | 渠道错误码 |
| 渠道错误描述 | errMsg | String | 渠道错误信息 |
返回示例数据(成功)
{
"code": 0,
"msg": "SUCCESS",
"data": {
"transferId": "T202603311200001",
"mchOrderNo": "mho20260331100001",
"amount": 10000,
"accountNo": "6214851234567890123",
"accountName": "李四",
"bankName": "示例银行",
"state": 1,
"channelOrderNo": "CH202603311200001",
"errCode": "",
"errMsg": ""
},
"sign": "9548145EA12D0CD8C1628BCF44E19E0D"
}返回示例数据(失败)
{
"code": 9999,
"msg": "商户订单[mho20260331100001]已存在",
"data": null,
"sign": null
}执行转账支付
对已创建并待审核的转账订单发起支付执行。
接口说明
请求URL:/api/transferPay
请求方式:POST
请求类型:application/json 或 application/x-www-form-urlencoded
请求参数
| 字段名 | 变量名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 商户号 | mchNo | 是 | String | 商户号 |
| 应用ID | appId | 是 | String | 商户应用ID |
| 支付接口代码 | ifCode | 是 | String | 转账通道代码 |
| 商户转账单号 | mchOrderNo | 否 | String | 商户侧单号 |
| 平台转账单号 | transferId | 否 | String | 平台转账单号 |
| 请求时间 | reqTime | 是 | String | 13位时间戳 |
| 接口版本 | version | 是 | String | 固定为1.0 |
| 签名 | sign | 是 | String | 签名值 |
| 签名类型 | signType | 是 | String | 签名类型 |
请求示例数据
{
"mchNo": "M1623984572",
"appId": "60cc09bce4b0f1c0b83761c9",
"ifCode": "MEPay",
"mchOrderNo": "mho20260331100001",
"transferId": "T202603311200001",
"reqTime": "1711850400000",
"version": "1.0",
"signType": "MD5",
"sign": "C380BEC2BFD727A4B6845133519F3AD6"
}返回参数
| 字段名 | 变量名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 返回状态 | code | 是 | Integer | 0表示成功,其他为失败 |
| 返回信息 | msg | 否 | String | 错误描述 |
| 签名信息 | sign | 否 | String | 对data签名 |
| 返回数据 | data | 否 | Object | 业务返回数据(无固定字段) |
返回示例数据(成功,响应体中 channelRetMsg 不参与 JSON 序列化,故 data 一般为空对象)
{
"code": 0,
"msg": "SUCCESS",
"data": {},
"sign": "F4DA202C516D1F33A12F1E547C5004FD"
}返回示例数据(失败)
{
"code": 9999,
"msg": "订单不存在",
"data": null,
"sign": null
}拒绝转账
对待审核转账订单进行拒绝操作。
接口说明
请求URL:/api/transferReject
请求方式:POST
请求类型:application/json 或 application/x-www-form-urlencoded
请求参数
| 字段名 | 变量名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 商户号 | mchNo | 是 | String | 商户号 |
| 应用ID | appId | 是 | String | 商户应用ID |
| 支付接口代码 | ifCode | 是 | String | 转账通道代码 |
| 商户转账单号 | mchOrderNo | 否 | String | 商户侧单号 |
| 平台转账单号 | transferId | 否 | String | 平台转账单号 |
| 拒绝原因 | remark | 否 | String | 拒绝备注 |
| 请求时间 | reqTime | 是 | String | 13位时间戳 |
| 接口版本 | version | 是 | String | 固定为1.0 |
| 签名 | sign | 是 | String | 签名值 |
| 签名类型 | signType | 是 | String | 签名类型 |
请求示例数据
{
"mchNo": "M1623984572",
"appId": "60cc09bce4b0f1c0b83761c9",
"ifCode": "MEPay",
"mchOrderNo": "mho20260331100001",
"transferId": "T202603311200001",
"remark": "商户主动取消",
"reqTime": "1711850400000",
"version": "1.0",
"signType": "MD5",
"sign": "C380BEC2BFD727A4B6845133519F3AD6"
}返回参数
| 字段名 | 变量名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 返回状态 | code | 是 | Integer | 0表示成功,其他为失败 |
| 返回信息 | msg | 否 | String | 错误描述 |
| 签名信息 | sign | 否 | String | 对data签名 |
| 返回数据 | data | 否 | Object | 业务返回数据(无固定字段) |
返回示例数据(成功,channelRetMsg 不参与 JSON 序列化时 data 可能为空对象)
{
"code": 0,
"msg": "SUCCESS",
"data": {},
"sign": "F4DA202C516D1F33A12F1E547C5004FD"
}返回示例数据(失败)
{
"code": 9999,
"msg": "订单状态异常",
"data": null,
"sign": null
}查询转账订单
商户根据商户订单号或平台转账单号查询订单状态。
接口说明
请求URL:/api/transfer/query
请求方式:POST
请求类型:application/json 或 application/x-www-form-urlencoded
请求参数
| 字段名 | 变量名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 商户号 | mchNo | 是 | String | 商户号 |
| 应用ID | appId | 是 | String | 商户应用ID |
| 商户转账单号 | mchOrderNo | 否 | String | 与transferId二选一 |
| 平台转账单号 | transferId | 否 | String | 与mchOrderNo二选一 |
| 请求时间 | reqTime | 是 | String | 13位时间戳 |
| 接口版本 | version | 是 | String | 固定为1.0 |
| 签名 | sign | 是 | String | 签名值 |
| 签名类型 | signType | 是 | String | 签名类型 |
请求示例数据
{
"mchNo": "M1623984572",
"appId": "60cc09bce4b0f1c0b83761c9",
"mchOrderNo": "mho20260331100001",
"transferId": "",
"reqTime": "1711850400000",
"version": "1.0",
"signType": "MD5",
"sign": "C380BEC2BFD727A4B6845133519F3AD6"
}返回参数
| 字段名 | 变量名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 返回状态 | code | 是 | Integer | 0表示成功,其他为失败 |
| 返回信息 | msg | 否 | String | 错误描述 |
| 签名信息 | sign | 否 | String | 对data签名 |
| 返回数据 | data | 否 | Object | 订单信息 |
data字段
| 字段名 | 变量名 | 类型 | 描述 |
|---|---|---|---|
| 转账订单号 | transferId | String | 平台转账订单号 |
| 商户号 | mchNo | String | 商户号 |
| 应用ID | appId | String | 应用ID |
| 商户订单号 | mchOrderNo | String | 商户订单号 |
| 支付接口代码 | ifCode | String | 转账通道代码 |
| 入账方式 | entryType | String | 入账方式 |
| 转账金额 | amount | Long | 金额(分) |
| 币种 | currency | String | 三位货币代码 |
| 收款账号 | accountNo | String | 收款账号 |
| 收款人姓名 | accountName | String | 收款人姓名 |
| 收款开户行 | bankName | String | 开户行名称 |
| 转账备注 | transferDesc | String | 转账备注 |
| 订单状态 | state | Byte | 0-订单生成,1-复核中,2-转账中,3-转账成功,4-转账失败,5-订单关闭,6-下单处理中 |
| 渠道扩展参数 | channelExtra | String | 通道扩展参数 |
| 渠道订单号 | channelOrderNo | String | 渠道订单号 |
| 渠道错误码 | errCode | String | 渠道错误码 |
| 渠道错误描述 | errMsg | String | 渠道错误描述 |
| 商户扩展参数 | extParam | String | 商户透传参数 |
| 成功时间 | successTime | Long | 13位时间戳 |
| 创建时间 | createdAt | Long | 13位时间戳 |
返回示例数据(成功)
{
"code": 0,
"msg": "SUCCESS",
"data": {
"transferId": "T202603311200001",
"mchNo": "M1623984572",
"appId": "60cc09bce4b0f1c0b83761c9",
"mchOrderNo": "mho20260331100001",
"ifCode": "MEPay",
"entryType": "BANK_CARD",
"amount": 10000,
"currency": "HKD",
"accountNo": "6214851234567890123",
"accountName": "李四",
"bankName": "示例银行",
"transferDesc": "2026年3月货款",
"state": 3,
"channelExtra": "",
"channelOrderNo": "CH202603311200001",
"errCode": "",
"errMsg": "",
"extParam": "ref-001",
"successTime": 1711850500000,
"createdAt": 1711850400000
},
"sign": "9548145EA12D0CD8C1628BCF44E19E0D"
}返回示例数据(失败)
{
"code": 9999,
"msg": "订单不存在",
"data": null,
"sign": null
}转账异步通知
该接口为支付通道回调入口,由通道侧调用,平台据此更新转账订单状态并触发商户通知。
接口说明
请求URL:
/api/transfer/notify/{ifCode}/api/transfer/notify/{ifCode}/{transferId}
请求方式:POST(具体通道可能使用GET或POST,以通道规范为准)
请求类型:由通道决定(如application/json、application/x-www-form-urlencoded等)
路径参数
| 字段名 | 变量名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 接口代码 | ifCode | 是 | String | 通道接口代码 |
| 转账单号 | transferId | 否 | String | 平台转账单号(部分通道放在URL) |
说明
- 该接口为系统内部回调入口,业务请求参数由各通道适配器解析。
- 回调处理成功后按通道协议返回响应;失败时返回
400及错误信息。 - 订单状态可能更新为:转账成功、转账失败、处理中转待确认等。
请求示例数据(示意:不同通道报文差异很大,以下为 JSON 形式回调的示例)
POST /api/transfer/notify/MEPay/T202603311200001 HTTP/1.1
Content-Type: application/json
{
"orderId": "CH202603311200001",
"status": "SUCCESS",
"amount": "10000",
"sign": "CHANNEL_SIGN_VALUE"
}请求示例数据(示意:表单形式回调)
POST /api/transfer/notify/MEPay HTTP/1.1
Content-Type: application/x-www-form-urlencoded
orderId=CH202603311200001&status=SUCCESS&amount=10000&sign=CHANNEL_SIGN_VALUE响应示例数据(成功:由具体通道实现类决定 HTTP 状态与响应体,以下为常见两种)
HTTP/1.1 200 OK
Content-Type: text/plain
successHTTP/1.1 200 OK
Content-Type: application/json
{"code":"SUCCESS"}响应示例数据(失败)
HTTP/1.1 400 Bad Request
Content-Type: text/plain
解析数据异常!