接口文档
1、签名算法
2、统一下单
3、支付通知
4、查询订单
5、查询余额
6、通道编码
7、常见问题FAQ
1、签名算法

所有非空参数值的参数按照参数名 ASCII 码从小到大排序(字典序),使用URL键值对的格式(即 key1=value1&key2=value2... )拼接成明文字符串后,使用 md5 加密生成签名串(32位小写)。

例如:sign = md5( key1=value1&key2=value2...&key=商户密钥 )

注意:
  1. 参数的值为空或者空字符串时不参与签名,其它参数都需要参与签名。
  2. 接口可能增加字段,验证签名时必须支持增加的扩展字段。
  3. 接口请求方式:POST JSON,请求头类型:Content-Type: application/json ,请求提交参数格式为 JSON 字符串。

所有非空值(且不为0)的参数都参与签名!
所有非空值(且不为0)的参数都参与签名!
所有非空值(且不为0)的参数都参与签名!

2、统一下单

接口说明

商户业务系统通过统一下单接口发起支付收款订单,支付网关会根据商户配置的支付通道路由支付通道完成支付下单。支付网关根据不同的支付方式返回对应的支付参数,业务系统使用支付参数发起收款。

请求URL:https://{{网关地址}}/pay/api/v1/unifiedOrder

请求方式:POSTContent-Type: application/json

字符编码:UTF-8

请求参数

参数 字段名 必填 类型 示例值 描述
mchId 商户号 string M20248548834598406 商户号
wayCode 产品编码 string 1001 产品编码,详见 产品编码
subject 商品标题/真实姓名 string 商品标题测试 商品标题/真实姓名
body 商品描述 string 商品描述测试 商品描述
outTradeNo 商户订单号 string 20160427210604000490 商户生成的订单号
amount 支付金额 (单位: ) int 10000 支付金额 (单位: ),例如: 10000 即为 100.00 元
extParam 扩展参数 string 123321 商户扩展参数,回调时会原样返回
clientIp 客户端IP string 210.73.10.148 客户端 IPV4 地址,尽量填写
notifyUrl 异步通知地址 string https://www.baidu.com 支付结果异步回调URL,只有传了该值才会发起回调
returnUrl 跳转通知地址 string https://www.baidu.com 支付结果同步跳转通知URL
reqTime 请求时间 long 1622016572190 请求接口时间,13位时间戳
sign 签名 string 694da7a446ab4b1d9ceea7e5614694f4 签名值,详见 签名算法

返回参数

参数 字段名 必填 类型 示例值 描述
code 返回状态码 int 0 网关返回码:0=成功,其他失败
message 返回信息 string 签名失败 具体错误原因,例如:签名失败、参数格式校验错误
sign 签名 string 694da7a446ab4b1d9ceea7e5614694f4 data 内数据签名,如 data 为空则不返回
data 以下是 data 数据说明,其非空值的参数都参与签名。
mchId 商户号 string M20248548834598406 商户号
tradeNo 支付订单号 string P173903494906404545 返回支付系统订单号
outTradeNo 商户订单号 string 20210905000702675466 返回商户传入的订单号
originTradeNo 通道订单号 int OWN128834954784545 示例值:OWN128834954784545
amount 订单金额 (单位: ) string 10000 订单金额 (单位: ),例如: 10000 即为 100.00 元
payUrl 支付地址 string https://www.test.com/payurl 支付地址,商户需要展示该地址给付款用户。
注意:这里一般返回的是 URL 支付链接。
expiredTime 订单过期时间 string 1622016572190 订单有效截止时间,13位时间戳
sdkData SDK参数内容 string 134586944573118714 SDK参数内容,例如支付宝现金红包需要
3、支付通知

接口说明

当订单支付成功时,支付网关会向商户系统发起回调通知。如果商户系统没有正确返回,支付网关会延迟再次通知。
商户接收到通知后,返回successok字符串(不区分大小写),平台将不再通知;如果没有反馈,平台将在10分钟内,通知6次,之后将不再主动发起通知。
注意:商户收到通知需做幂等性处理,判断本地订单状态,防止重复上分。返回 SUCCESS 则不再通知!
为保证安全请做订单查询验证订单是否真实成功。
为保证安全请做订单查询验证订单是否真实成功。
为保证安全请做订单查询验证订单是否真实成功。

请求URL:该URL是通过【统一下单API】中提交的参数 notifyUrl 设置,如果链接无法访问,商户将无法接收到通知。

请求方式:POSTJSONContent-Type: application/json

字符编码:UTF-8

通知参数

参数 字段名 必填 类型 示例值 描述
mchId 商户号 string M20248548834598406 商户号
tradeNo 支付订单号 string P1739045904834948954 返回支付系统订单号
outTradeNo 商户订单号 string 20210905000702675466 返回商户传入的订单号
originTradeNo 通道订单号 String OWN18239328912314213 示例值:OWN18239328912314213
amount 订单金额 (单位: ) long 10000 订单金额 (单位: ),例如: 10000 即为 100.00 元
subject 商品标题 string 商品标题测试 商品标题
body 商品描述 string 商品描述测试 商品描述
extParam 扩展参数 string 123321 商户扩展参数,回调时会原样返回
state 订单状态 int 1 订单状态:1支付成功 2测试冲正 0待支付 7未出码 9支付失败
notifyTime 通知时间 long 1622016572190 通知时间,13位时间戳
sign 签名 string 694da7a446ab4b1d9ceea7e5614694f4 签名值,详见 签名算法
4、查询订单

接口说明

商户通过该接口查询订单,支付网关会返回订单最新的数据。

请求URL:https://{{网关地址}}/pay/api/v1/queryOrder

请求方式:POSTContent-Type: application/json

字符编码:UTF-8

请求参数

参数 字段名 必填 类型 示例值 描述
mchId 商户号 string M20248493854784 商户号
outTradeNo 商户订单号 string P17303489458945894 返回商户传入的订单号
reqTime 请求时间 long 1622016572190 请求接口时间,13位时间戳
sign 签名 string 694da7a446ab4b1d9ceea7e5614694f4 签名值,详见 签名算法

返回参数

参数 字段名 必填 类型 示例值 描述
code 返回状态码 int 0 网关返回码:0=成功,其他失败
message 返回信息 string 签名失败 具体错误原因,例如:签名失败、参数格式校验错误
sign 签名 string 694da7a446ab4b1d9ceea7e5614694f4 data 内数据签名,如 data 为空则不返回
data 以下是 data 数据说明,其非空值的参数都参与签名。
mchId 商户号 string M1623984572 商户号
wayCode 通道类型 string 1001 通道类型,详见 通道编码
tradeNo 支付订单号 string P173904590458934 返回支付系统订单号
outTradeNo 商户订单号 string 20210905000702675466 返回商户传入的订单号
originTradeNo 通道订单号 string 1434537241715146752 返回支付通道的订单号
amount 订单金额 (单位: ) string 10000 订单金额 (单位: ),例如: 10000 即为 100.00 元
subject 商品标题 string 商品标题测试 商品标题
body 商品描述 string 商品描述测试 商品描述
extParam 扩展参数 string 134586944573118714 商户扩展参数,回调时会原样返回
notifyUrl 异步通知地址 string https://www.test.com/notify.htm 支付结果异步回调URL,只有传了该值才会发起回调
payUrl 支付地址 string https://www.test.com/payurl 支付地址,商户需要展示该地址给付款用户
expiredTime 订单过期时间 string 1622016572190 订单有效截止时间,13位时间戳
successTime 支付成功时间 string 1622016572190 支付成功时间,13位时间戳
createTime 下单时间 string 1622016572190 下单时间,13位时间戳
state 订单状态 int 1 订单状态:1支付成功 2测试冲正 0待支付 7未出码 9支付失败
notifyState 通知状态 int 1 通知状态:0未通知,1通知成功,-1通知失败
5、查询余额

接口说明

商户通过该接口查询商户余额,支付网关会返回商户余额最新的数据。

请求URL:https://{{网关地址}}/pay/api/v1/queryBalance

请求方式:POSTContent-Type: application/json

字符编码:UTF-8

请求参数

参数 字段名 必填 类型 示例值 描述
mchId 商户号 string M202494858756784 商户号
reqTime 请求时间 long 1622016572190 请求接口时间,13位时间戳
sign 签名 string 694da7a446ab4b1d9ceea7e5614694f4 签名值,详见 签名算法

返回参数

参数 字段名 必填 类型 示例值 描述
code 返回状态码 int 0 网关返回码:0=成功,其他失败
message 返回信息 string 签名失败 具体错误原因,例如:签名失败、参数格式校验错误
sign 签名 string 694da7a446ab4b1d9ceea7e5614694f4 data 内数据签名,如 data 为空则不返回
data 以下是 data 数据说明,其非空值的参数都参与签名。
mchId 商户号 string M1623984572 商户号
balance 商户余额 string 1000.00 返回商户余额,单位:元
advance 商户预付 string 1000.00 返回商户剩余预付,单位:元
6、通道编码
咨询客服人员获取