Skip to content

Unipay 代理商户 API

本页面是完整接入说明。接入商户无需下载 YAML 文件,也可以仅通过官网文档完成接口接入。

概览

商户模型

代理商户使用上游透明选路。请求不传上游路由字段,后端按所属 ISV 的启用渠道自动选择。

示例中的 sign 为占位符,实际请求需按签名规则使用真实字段生成。

响应信封

字段类型必填说明
codeinteger(int32)业务状态码
msgstring业务提示信息
dataobject|null业务响应数据
signstring响应签名(平台私钥签名)
resTimestring(date-time)响应时间
traceIdstring链路追踪ID

接口列表

路径API说明
POST /unipay/pay支付接口创建 Mexico 虚拟账户入金订单并发起支付。
POST /unipay/options/pay-methods查询支付 method 列表查询当前商户支付接口可使用的 method 列表。
POST /unipay/options/payee-types查询转账 payeeType 列表查询当前商户转账接口可使用的 payeeType 列表。
POST /unipay/options/payee-codes查询转账 payeeCode 列表按 payeeType 查询当前商户可使用的系统公开 payeeCode 列表。
POST /unipay/close关闭和撤销接口关闭未完成的支付订单,必要时使用撤销方式。
POST /unipay/inqury转账预查询接口在转账前校验收款账户有效性。
POST /unipay/transfer转账接口创建并提交转账订单。
POST /unipay/query/payOrder支付订单查询接口查询支付订单当前状态和明细。
POST /unipay/query/transferOrder转账订单查询接口查询转账订单当前状态和明细。
POST /unipay/sync/order/pay支付订单同步接口主动向上游同步支付订单状态并调整本地订单。

支付接口

创建 Mexico 虚拟账户入金订单并发起支付。

商户系统生成业务订单后调用,method 固定使用 mex_virtual_account,平台返回支付订单号、支付状态和虚拟账户支付参数体。

请求信息

字段说明
方法POST
路径/unipay/pay
Content-Typeapplication/json

公共请求参数

字段类型必填约束说明
mchNostringmaxLength=32商户号
appIdstringmaxLength=32应用号
reqTimestring(date-time)yyyy-MM-dd HH:mm:ss请求时间, 格式yyyy-MM-dd HH:mm:ss
nonceStrstringmaxLength=32随机数
signstringmaxLength=1024签名
clientIpstringmaxLength=64客户端ip

业务参数

字段类型必填约束说明
bizOrderNostringminLength=1, maxLength=100商户订单号
titlestringminLength=1, maxLength=100支付标题
descriptionstringmaxLength=50支付描述
expiredTimestring(date-time)过期时间
methodstringminLength=1, maxLength=32支付方式编码
limitPaystringmaxLength=128限制用户支付类型
amountnumber(double)minimum=0.01支付金额
extraParamstringmaxLength=2048支付扩展参数
attachstringmaxLength=500商户扩展参数
returnUrlstringmaxLength=200同步通知URL
quitUrlstringmaxLength=200退出地址
notifyUrlstringmaxLength=200异步通知地址

请求示例

json
{
  "clientIp": "127.0.0.1",
  "nonceStr": "nonce-20260414-001",
  "sign": "<BASE64_RSA_SIGNATURE>",
  "reqTime": "2026-04-14 12:00:00",
  "mchNo": "M2026000001",
  "appId": "APP20260001",
  "bizOrderNo": "BIZ-PAY-20260414-001",
  "title": "Order Payment",
  "description": "Payment for order #001",
  "expiredTime": "2026-04-14 12:00:00",
  "method": "mex_virtual_account",
  "limitPay": "string",
  "amount": 12.5,
  "extraParam": "{\"scene\":\"mobile\"}",
  "attach": "{\"orderTag\":\"vip\"}",
  "returnUrl": "https://merchant.example.com/return",
  "quitUrl": "https://merchant.example.com/quit",
  "notifyUrl": "https://merchant.example.com/callback"
}

响应 data 字段

字段类型必填说明
bizOrderNostring商户订单号
orderNostring订单号
statusstring支付状态
payBodystring支付参数体

常用取值

支付方式 method

value说明
mex_virtual_accountMEX 虚拟账户入金

限制支付 limitPay

value说明
no_credit限制信用卡支付

支付状态 status/orderStatus

value说明
wait待支付
progress支付中
success成功
close支付关闭
cancel支付撤销
fail失败
timeout支付超时

成功响应示例

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "bizOrderNo": "BIZ-PAY-20260414-001",
    "orderNo": "P202604140001",
    "status": "success",
    "payBody": "{\"qrCode\":\"https://...\"}"
  },
  "sign": "<BASE64_RSA_SIGNATURE>",
  "resTime": "2026-04-14 12:00:01",
  "traceId": "f8e44de6f6a1467bb9cbf9be92f0ff3a"
}

失败响应示例

json
{
  "code": 20052,
  "msg": "验签失败",
  "data": null,
  "sign": "<BASE64_RSA_SIGNATURE>",
  "resTime": "2026-04-14 12:00:01",
  "traceId": "f8e44de6f6a1467bb9cbf9be92f0ff3a"
}

Callback 回调通知

支付订单回调

平台在订单状态变化后向请求中的 notifyUrl 发起 POST 回调,Content-Typeapplication/json

请求体结构为 DaxNoticeResult<PayOrderResult>data 字段与订单查询接口返回字段一致。

平台使用平台私钥生成 sign,商户需使用平台公钥验签。商户处理成功必须返回纯文本 SUCCESS(大小写不敏感),否则视为失败。

平台回调超时时间为 15 秒,失败后自动重试最多 16 次。商户侧应按平台订单号或商户业务单号做幂等处理。

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "bizOrderNo": "BIZ-PAY-20260414-001",
    "orderNo": "P202604140001",
    "title": "Order Payment",
    "description": "Payment for order #001",
    "method": "mex_virtual_account",
    "limitPay": "string",
    "amount": 12.5,
    "fee": 0.01,
    "realAmount": 0.01,
    "status": "success",
    "settleStatus": "not_settle",
    "settleType": "D+1",
    "settleTime": "2026-04-14 12:00:00",
    "payTime": "2026-04-14 12:00:00",
    "closeTime": "2026-04-14 12:00:00",
    "expiredTime": "2026-04-14 12:00:00",
    "attach": "{\"orderTag\":\"vip\"}"
  },
  "sign": "<BASE64_RSA_SIGNATURE>",
  "resTime": "2026-04-14 12:00:01",
  "traceId": "f8e44de6f6a1467bb9cbf9be92f0ff3a",
  "noticeType": "order_status_changed",
  "mchNo": "M2026000001",
  "appId": "APP20260001"
}

商户响应

text
SUCCESS

查询支付 method 列表

查询当前商户支付接口可使用的 method 列表。

商户在展示支付方式、组装支付请求前调用。代理商户返回公开支付方式,不暴露实际命中的上游通道。

请求信息

字段说明
方法POST
路径/unipay/options/pay-methods
Content-Typeapplication/json

公共请求参数

字段类型必填约束说明
mchNostringmaxLength=32商户号
appIdstringmaxLength=32应用号
reqTimestring(date-time)yyyy-MM-dd HH:mm:ss请求时间, 格式yyyy-MM-dd HH:mm:ss
nonceStrstringmaxLength=32随机数
signstringmaxLength=1024签名
clientIpstringmaxLength=64客户端ip

业务参数

请求示例

json
{
  "clientIp": "127.0.0.1",
  "nonceStr": "nonce-20260414-001",
  "sign": "<BASE64_RSA_SIGNATURE>",
  "reqTime": "2026-04-14 12:00:00",
  "mchNo": "M2026000001",
  "appId": "APP20260001"
}

响应 data 字段

字段类型必填说明
codestring编码
namestring名称

成功响应示例

json
{
  "code": 0,
  "msg": "success",
  "data": [
    {
      "code": "mex_virtual_account",
      "name": "MEX虚拟账户入金"
    }
  ],
  "sign": "<BASE64_RSA_SIGNATURE>",
  "resTime": "2026-04-14 12:00:01",
  "traceId": "f8e44de6f6a1467bb9cbf9be92f0ff3a"
}

失败响应示例

json
{
  "code": 20052,
  "msg": "验签失败",
  "data": null,
  "sign": "<BASE64_RSA_SIGNATURE>",
  "resTime": "2026-04-14 12:00:01",
  "traceId": "f8e44de6f6a1467bb9cbf9be92f0ff3a"
}

查询转账 payeeType 列表

查询当前商户转账接口可使用的 payeeType 列表。

商户在展示转账收款类型、组装预查询或转账请求前调用。

请求信息

字段说明
方法POST
路径/unipay/options/payee-types
Content-Typeapplication/json

公共请求参数

字段类型必填约束说明
mchNostringmaxLength=32商户号
appIdstringmaxLength=32应用号
reqTimestring(date-time)yyyy-MM-dd HH:mm:ss请求时间, 格式yyyy-MM-dd HH:mm:ss
nonceStrstringmaxLength=32随机数
signstringmaxLength=1024签名
clientIpstringmaxLength=64客户端ip

业务参数

请求示例

json
{
  "clientIp": "127.0.0.1",
  "nonceStr": "nonce-20260414-001",
  "sign": "<BASE64_RSA_SIGNATURE>",
  "reqTime": "2026-04-14 12:00:00",
  "mchNo": "M2026000001",
  "appId": "APP20260001"
}

响应 data 字段

字段类型必填说明
codestring编码
namestring名称

成功响应示例

json
{
  "code": 0,
  "msg": "success",
  "data": [
    {
      "code": "spei_transfer",
      "name": "SPEI 转账"
    }
  ],
  "sign": "<BASE64_RSA_SIGNATURE>",
  "resTime": "2026-04-14 12:00:01",
  "traceId": "f8e44de6f6a1467bb9cbf9be92f0ff3a"
}

失败响应示例

json
{
  "code": 20052,
  "msg": "验签失败",
  "data": null,
  "sign": "<BASE64_RSA_SIGNATURE>",
  "resTime": "2026-04-14 12:00:01",
  "traceId": "f8e44de6f6a1467bb9cbf9be92f0ff3a"
}

查询转账 payeeCode 列表

按 payeeType 查询当前商户可使用的系统公开 payeeCode 列表。

当 payeeType 需要银行代码或收款机构代码时调用,返回值可直接用于预查询和转账请求;不要传 OPM/Fintoc 上游原始编码。

请求信息

字段说明
方法POST
路径/unipay/options/payee-codes
Content-Typeapplication/json

公共请求参数

字段类型必填约束说明
mchNostringmaxLength=32商户号
appIdstringmaxLength=32应用号
reqTimestring(date-time)yyyy-MM-dd HH:mm:ss请求时间, 格式yyyy-MM-dd HH:mm:ss
nonceStrstringmaxLength=32随机数
signstringmaxLength=1024签名
clientIpstringmaxLength=64客户端ip

业务参数

字段类型必填约束说明
payeeTypestringminLength=1, maxLength=32收款人类型

请求示例

json
{
  "clientIp": "127.0.0.1",
  "nonceStr": "nonce-20260414-001",
  "sign": "<BASE64_RSA_SIGNATURE>",
  "reqTime": "2026-04-14 12:00:00",
  "mchNo": "M2026000001",
  "appId": "APP20260001",
  "payeeType": "spei_transfer"
}

响应 data 字段

字段类型必填说明
codestring编码
namestring名称

成功响应示例

json
{
  "code": 0,
  "msg": "success",
  "data": [
    {
      "code": "mx_banxico",
      "name": "BANXICO"
    }
  ],
  "sign": "<BASE64_RSA_SIGNATURE>",
  "resTime": "2026-04-14 12:00:01",
  "traceId": "f8e44de6f6a1467bb9cbf9be92f0ff3a"
}

失败响应示例

json
{
  "code": 20052,
  "msg": "验签失败",
  "data": null,
  "sign": "<BASE64_RSA_SIGNATURE>",
  "resTime": "2026-04-14 12:00:01",
  "traceId": "f8e44de6f6a1467bb9cbf9be92f0ff3a"
}

关闭和撤销接口

关闭未完成的支付订单,必要时使用撤销方式。

订单超时、用户取消或商户主动终止支付时调用。订单号、商户订单号、上游订单号至少传一个。

请求信息

字段说明
方法POST
路径/unipay/close
Content-Typeapplication/json

公共请求参数

字段类型必填约束说明
mchNostringmaxLength=32商户号
appIdstringmaxLength=32应用号
reqTimestring(date-time)yyyy-MM-dd HH:mm:ss请求时间, 格式yyyy-MM-dd HH:mm:ss
nonceStrstringmaxLength=32随机数
signstringmaxLength=1024签名
clientIpstringmaxLength=64客户端ip

业务参数

字段类型必填约束说明
orderNostringmaxLength=100订单号
bizOrderNostringmaxLength=100商户订单号
useCancelboolean是否使用撤销方式进行订单关闭

请求示例

json
{
  "clientIp": "127.0.0.1",
  "nonceStr": "nonce-20260414-001",
  "sign": "<BASE64_RSA_SIGNATURE>",
  "reqTime": "2026-04-14 12:00:00",
  "mchNo": "M2026000001",
  "appId": "APP20260001",
  "orderNo": "P202604140001",
  "bizOrderNo": "BIZ-PAY-20260414-001",
  "useCancel": true
}

响应 data 字段

data 成功时为 null

成功响应示例

json
{
  "code": 0,
  "msg": "success",
  "data": null,
  "sign": "<BASE64_RSA_SIGNATURE>",
  "resTime": "2026-04-14 12:00:01",
  "traceId": "f8e44de6f6a1467bb9cbf9be92f0ff3a"
}

失败响应示例

json
{
  "code": 20052,
  "msg": "验签失败",
  "data": null,
  "sign": "<BASE64_RSA_SIGNATURE>",
  "resTime": "2026-04-14 12:00:01",
  "traceId": "f8e44de6f6a1467bb9cbf9be92f0ff3a"
}

转账预查询接口

在转账前校验收款账户有效性。

适用于银行账号、SPEI 等需要先确认账户可用性的转账场景。

请求信息

字段说明
方法POST
路径/unipay/inqury
Content-Typeapplication/json

公共请求参数

字段类型必填约束说明
mchNostringmaxLength=32商户号
appIdstringmaxLength=32应用号
reqTimestring(date-time)yyyy-MM-dd HH:mm:ss请求时间, 格式yyyy-MM-dd HH:mm:ss
nonceStrstringmaxLength=32随机数
signstringmaxLength=1024签名
clientIpstringmaxLength=64客户端ip

业务参数

字段类型必填约束说明
bizInquryNostringminLength=1, maxLength=100商户查询号
payeeTypestringminLength=1, maxLength=32收款人账号类型
payeeAccountstringminLength=1, maxLength=100收款人账号
payeeNamestringmaxLength=50上传的收款人姓名
payeeCodestringmaxLength=64收款编码(如银行代码)
extraParamstringmaxLength=2048查询扩展参数
attachstringmaxLength=500商户扩展参数

请求示例

json
{
  "clientIp": "127.0.0.1",
  "nonceStr": "nonce-20260414-001",
  "sign": "<BASE64_RSA_SIGNATURE>",
  "reqTime": "2026-04-14 12:00:00",
  "mchNo": "M2026000001",
  "appId": "APP20260001",
  "bizInquryNo": "BIZ-INQURY-20260414-001",
  "payeeType": "spei_transfer",
  "payeeAccount": "6222020202020202",
  "payeeName": "ZHANG SAN",
  "payeeCode": "mx_banxico",
  "extraParam": "{\"scene\":\"mobile\"}",
  "attach": "{\"orderTag\":\"vip\"}"
}

响应 data 字段

字段类型必填说明
bizInquryNostring商户查询号
inquryNostring查询号
statusstring状态
accountValidboolean账户是否有效
uploadPayeeNamestring上传账户名

常用取值

收款类型 payeeType

value说明
user_id用户 ID
open_idOpenId
login_name用户账号
bank_card银行卡
spei_transferSPEI 转账

预查询状态 status

value说明
valid账户有效
invalid账户无效
unknown未知

成功响应示例

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "bizInquryNo": "BIZ-INQURY-20260414-001",
    "inquryNo": "string",
    "status": "valid",
    "accountValid": true,
    "uploadPayeeName": "ZHANG SAN"
  },
  "sign": "<BASE64_RSA_SIGNATURE>",
  "resTime": "2026-04-14 12:00:01",
  "traceId": "f8e44de6f6a1467bb9cbf9be92f0ff3a"
}

失败响应示例

json
{
  "code": 20052,
  "msg": "验签失败",
  "data": null,
  "sign": "<BASE64_RSA_SIGNATURE>",
  "resTime": "2026-04-14 12:00:01",
  "traceId": "f8e44de6f6a1467bb9cbf9be92f0ff3a"
}

转账接口

创建并提交转账订单。

适用于提现、付款到银行卡、SPEI 转账等出款场景。建议先调用预查询确认账户有效性。

请求信息

字段说明
方法POST
路径/unipay/transfer
Content-Typeapplication/json

公共请求参数

字段类型必填约束说明
mchNostringmaxLength=32商户号
appIdstringmaxLength=32应用号
reqTimestring(date-time)yyyy-MM-dd HH:mm:ss请求时间, 格式yyyy-MM-dd HH:mm:ss
nonceStrstringmaxLength=32随机数
signstringmaxLength=1024签名
clientIpstringmaxLength=64客户端ip

业务参数

字段类型必填约束说明
bizTransferNostringminLength=1, maxLength=100商户转账号
amountnumber(double)minimum=0.01转账金额
titlestringmaxLength=100标题
reasonstringmaxLength=50转账原因/备注
payeeTypestringminLength=1, maxLength=32收款人账号类型
payeeAccountstringminLength=1, maxLength=100收款人账号
payeeNamestringmaxLength=50收款人姓名
payeeCodestringmaxLength=64收款编码(如银行代码)
extraParamstringmaxLength=2048转账扩展参数
attachstringmaxLength=500商户扩展参数,回调时会原样返回
notifyUrlstringmaxLength=200回调通知地址

请求示例

json
{
  "clientIp": "127.0.0.1",
  "nonceStr": "nonce-20260414-001",
  "sign": "<BASE64_RSA_SIGNATURE>",
  "reqTime": "2026-04-14 12:00:00",
  "mchNo": "M2026000001",
  "appId": "APP20260001",
  "bizTransferNo": "BIZ-TRANSFER-20260414-001",
  "amount": 12.5,
  "title": "Order Payment",
  "reason": "Manual operation remark",
  "payeeType": "spei_transfer",
  "payeeAccount": "6222020202020202",
  "payeeName": "ZHANG SAN",
  "payeeCode": "mx_banxico",
  "extraParam": "{\"scene\":\"mobile\"}",
  "attach": "{\"orderTag\":\"vip\"}",
  "notifyUrl": "https://merchant.example.com/callback"
}

响应 data 字段

字段类型必填说明
bizTransferNostring商户转账号
transferNostring转账号
statusstring状态

常用取值

收款类型 payeeType

value说明
user_id用户 ID
open_idOpenId
login_name用户账号
bank_card银行卡
spei_transferSPEI 转账

转账状态 status/orderStatus

value说明
progress转账中
success转账成功
close转账关闭
fail转账失败

成功响应示例

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "bizTransferNo": "BIZ-TRANSFER-20260414-001",
    "transferNo": "T202604140001",
    "status": "progress"
  },
  "sign": "<BASE64_RSA_SIGNATURE>",
  "resTime": "2026-04-14 12:00:01",
  "traceId": "f8e44de6f6a1467bb9cbf9be92f0ff3a"
}

失败响应示例

json
{
  "code": 20052,
  "msg": "验签失败",
  "data": null,
  "sign": "<BASE64_RSA_SIGNATURE>",
  "resTime": "2026-04-14 12:00:01",
  "traceId": "f8e44de6f6a1467bb9cbf9be92f0ff3a"
}

Callback 回调通知

转账订单回调

平台在订单状态变化后向请求中的 notifyUrl 发起 POST 回调,Content-Typeapplication/json

请求体结构为 DaxNoticeResult<TransferOrderResult>data 字段与订单查询接口返回字段一致。

平台使用平台私钥生成 sign,商户需使用平台公钥验签。商户处理成功必须返回纯文本 SUCCESS(大小写不敏感),否则视为失败。

平台回调超时时间为 15 秒,失败后自动重试最多 16 次。商户侧应按平台订单号或商户业务单号做幂等处理。

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "bizTransferNo": "BIZ-TRANSFER-20260414-001",
    "transferNo": "T202604140001",
    "amount": 12.5,
    "fee": 0.01,
    "title": "Order Payment",
    "reason": "Manual operation remark",
    "payeeType": "spei_transfer",
    "payeeAccount": "6222020202020202",
    "payeeName": "ZHANG SAN",
    "payeeCode": "mx_banxico",
    "status": "success",
    "finishTime": "2026-04-14 12:00:00",
    "attach": "{\"orderTag\":\"vip\"}"
  },
  "sign": "<BASE64_RSA_SIGNATURE>",
  "resTime": "2026-04-14 12:00:01",
  "traceId": "f8e44de6f6a1467bb9cbf9be92f0ff3a",
  "noticeType": "order_status_changed",
  "mchNo": "M2026000001",
  "appId": "APP20260001"
}

商户响应

text
SUCCESS

支付订单查询接口

查询支付订单当前状态和明细。

支付结果不确定、回调未收到或需要对账时调用。

请求信息

字段说明
方法POST
路径/unipay/query/payOrder
Content-Typeapplication/json

公共请求参数

字段类型必填约束说明
mchNostringmaxLength=32商户号
appIdstringmaxLength=32应用号
reqTimestring(date-time)yyyy-MM-dd HH:mm:ss请求时间, 格式yyyy-MM-dd HH:mm:ss
nonceStrstringmaxLength=32随机数
signstringmaxLength=1024签名
clientIpstringmaxLength=64客户端ip

业务参数

字段类型必填约束说明
orderNostringmaxLength=100订单号
bizOrderNostringmaxLength=100商户订单号

请求示例

json
{
  "clientIp": "127.0.0.1",
  "nonceStr": "nonce-20260414-001",
  "sign": "<BASE64_RSA_SIGNATURE>",
  "reqTime": "2026-04-14 12:00:00",
  "mchNo": "M2026000001",
  "appId": "APP20260001",
  "orderNo": "P202604140001",
  "bizOrderNo": "BIZ-PAY-20260414-001"
}

响应 data 字段

字段类型必填说明
bizOrderNostring商户订单号
orderNostring支付订单号
titlestring标题
descriptionstring描述
methodstring支付方式
limitPaystring限制用户支付类型
amountnumber(double)金额
feenumber(double)手续费
realAmountnumber(double)实收金额
statusstring支付状态
settleStatusstring结算状态
settleTypestring结算类型
settleTimestring(date-time)结算时间
payTimestring(date-time)支付时间
closeTimestring(date-time)关闭时间
expiredTimestring(date-time)过期时间
attachstring商户扩展参数

常用取值

支付状态 status/orderStatus

value说明
wait待支付
progress支付中
success成功
close支付关闭
cancel支付撤销
fail失败
timeout支付超时

结算状态 settleStatus

value说明
not_settle未结算
settled已结算

结算类型 settleType

value说明
REALTIME实时
D+1D+1
D+2D+2
D+3D+3

成功响应示例

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "bizOrderNo": "BIZ-PAY-20260414-001",
    "orderNo": "P202604140001",
    "title": "Order Payment",
    "description": "Payment for order #001",
    "method": "mex_virtual_account",
    "limitPay": "string",
    "amount": 12.5,
    "fee": 0.01,
    "realAmount": 0.01,
    "status": "success",
    "settleStatus": "not_settle",
    "settleType": "D+1",
    "settleTime": "2026-04-14 12:00:00",
    "payTime": "2026-04-14 12:00:00",
    "closeTime": "2026-04-14 12:00:00",
    "expiredTime": "2026-04-14 12:00:00",
    "attach": "{\"orderTag\":\"vip\"}"
  },
  "sign": "<BASE64_RSA_SIGNATURE>",
  "resTime": "2026-04-14 12:00:01",
  "traceId": "f8e44de6f6a1467bb9cbf9be92f0ff3a"
}

失败响应示例

json
{
  "code": 20052,
  "msg": "验签失败",
  "data": null,
  "sign": "<BASE64_RSA_SIGNATURE>",
  "resTime": "2026-04-14 12:00:01",
  "traceId": "f8e44de6f6a1467bb9cbf9be92f0ff3a"
}

转账订单查询接口

查询转账订单当前状态和明细。

转账结果不确定、回调未收到或需要对账时调用。

请求信息

字段说明
方法POST
路径/unipay/query/transferOrder
Content-Typeapplication/json

公共请求参数

字段类型必填约束说明
mchNostringmaxLength=32商户号
appIdstringmaxLength=32应用号
reqTimestring(date-time)yyyy-MM-dd HH:mm:ss请求时间, 格式yyyy-MM-dd HH:mm:ss
nonceStrstringmaxLength=32随机数
signstringmaxLength=1024签名
clientIpstringmaxLength=64客户端ip

业务参数

字段类型必填约束说明
bizTransferNostringmaxLength=100商户转账号
transferNostringmaxLength=32转账号

请求示例

json
{
  "clientIp": "127.0.0.1",
  "nonceStr": "nonce-20260414-001",
  "sign": "<BASE64_RSA_SIGNATURE>",
  "reqTime": "2026-04-14 12:00:00",
  "mchNo": "M2026000001",
  "appId": "APP20260001",
  "bizTransferNo": "BIZ-TRANSFER-20260414-001",
  "transferNo": "T202604140001"
}

响应 data 字段

字段类型必填说明
bizTransferNostring商户转账号
transferNostring转账号
amountnumber(double)转账金额
feenumber(double)手续费
titlestring标题
reasonstring转账原因/备注
payeeTypestring收款人类型
payeeAccountstring收款人账号
payeeNamestring收款人姓名
payeeCodestring收款编码(如银行代码)
statusstring状态
finishTimestring(date-time)完成时间
attachstring商户扩展参数

常用取值

收款类型 payeeType

value说明
user_id用户 ID
open_idOpenId
login_name用户账号
bank_card银行卡
spei_transferSPEI 转账

转账状态 status/orderStatus

value说明
progress转账中
success转账成功
close转账关闭
fail转账失败

成功响应示例

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "bizTransferNo": "BIZ-TRANSFER-20260414-001",
    "transferNo": "T202604140001",
    "amount": 12.5,
    "fee": 0.01,
    "title": "Order Payment",
    "reason": "Manual operation remark",
    "payeeType": "spei_transfer",
    "payeeAccount": "6222020202020202",
    "payeeName": "ZHANG SAN",
    "payeeCode": "mx_banxico",
    "status": "success",
    "finishTime": "2026-04-14 12:00:00",
    "attach": "{\"orderTag\":\"vip\"}"
  },
  "sign": "<BASE64_RSA_SIGNATURE>",
  "resTime": "2026-04-14 12:00:01",
  "traceId": "f8e44de6f6a1467bb9cbf9be92f0ff3a"
}

失败响应示例

json
{
  "code": 20052,
  "msg": "验签失败",
  "data": null,
  "sign": "<BASE64_RSA_SIGNATURE>",
  "resTime": "2026-04-14 12:00:01",
  "traceId": "f8e44de6f6a1467bb9cbf9be92f0ff3a"
}

支付订单同步接口

主动向上游同步支付订单状态并调整本地订单。

适用于回调延迟、状态长时间处于处理中或运营手动补偿。

请求信息

字段说明
方法POST
路径/unipay/sync/order/pay
Content-Typeapplication/json

公共请求参数

字段类型必填约束说明
mchNostringmaxLength=32商户号
appIdstringmaxLength=32应用号
reqTimestring(date-time)yyyy-MM-dd HH:mm:ss请求时间, 格式yyyy-MM-dd HH:mm:ss
nonceStrstringmaxLength=32随机数
signstringmaxLength=1024签名
clientIpstringmaxLength=64客户端ip

业务参数

字段类型必填约束说明
orderNostringmaxLength=100订单号
bizOrderNostringmaxLength=100商户订单号

请求示例

json
{
  "clientIp": "127.0.0.1",
  "nonceStr": "nonce-20260414-001",
  "sign": "<BASE64_RSA_SIGNATURE>",
  "reqTime": "2026-04-14 12:00:00",
  "mchNo": "M2026000001",
  "appId": "APP20260001",
  "orderNo": "P202604140001",
  "bizOrderNo": "BIZ-PAY-20260414-001"
}

响应 data 字段

字段类型必填说明
orderStatusstring同步状态
adjustboolean是否触发了调整

常用取值

支付状态 status/orderStatus

value说明
wait待支付
progress支付中
success成功
close支付关闭
cancel支付撤销
fail失败
timeout支付超时

成功响应示例

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "orderStatus": "success",
    "adjust": true
  },
  "sign": "<BASE64_RSA_SIGNATURE>",
  "resTime": "2026-04-14 12:00:01",
  "traceId": "f8e44de6f6a1467bb9cbf9be92f0ff3a"
}

失败响应示例

json
{
  "code": 20052,
  "msg": "验签失败",
  "data": null,
  "sign": "<BASE64_RSA_SIGNATURE>",
  "resTime": "2026-04-14 12:00:01",
  "traceId": "f8e44de6f6a1467bb9cbf9be92f0ff3a"
}

YAML 下载