代付API
一、代付请求
简要描述:
- 代付请求接口,请联系管理员开通,否则无法使用。
请求URL(网关地址):
http://www.haochuang123.com/API/Bank/
(请在“商户后台-接口文档”获取网关地址)
请求方式:
- POST
请求参数:
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
merId | 是 | string | 商户编号,即商户会员ID |
merSeqId | 是 | string | 商户订单流水号,请确保唯一性 |
usrName | 是 | string | 收款人姓名,收款人在银行开户时留存的开户姓名或者第三方平台的收款姓名。 |
cardNo | 是 | string | 收款人账号,银行卡号或第三方收款账号,如是支付宝,请填写支付宝账号。 |
openBankID | 是 | string | 开户银行ID,注意:是ID号,不是中文的银行名称,请参照开户银行列表(商户后台的接口文档里面查看) |
subBank | 否 | string | 支行名称,银行卡时必填,支付宝等第三方收款可留空。 |
transAmt | 是 | string | 代付金额,单位:元 |
NotifyUrl | 是 | string | 异步通知URL,代付结果通知地址,请不要带参数。 |
charset | 否 | string | 字符集,可选值"gb2312"、"utf-8",默认gb2312编码。 |
Sign | 是 | string | 32位MD5签名 |
> 参数提示:为防止utf-8编码提交的中文参数乱码,可以指定字符集为utf-8。
签名字符串:
merId=&merSeqId=&openBankID=&transAmt=&NotifyUrl=&Key=商户密钥
说明:Key的K是大写的K,按照该顺序签名,参数名区分大小写,大小写与参数表对应。
注意:参数名区分大小写,大小写与参数表对应;通过MD5(32位)方式签名(编码必须是gb2312,加密后转换为小写)。
签名举例:
> 待签名字符串:merId=162553&merSeqId=20190109092948709836&openBankID=1&transAmt=100&NotifyUrl=http://192.168.10.57&key=vtstvnh7SmFDAywWHmQfEtMGbiQlBpco
> 签名结果: 75b08d5b4ed17cfd15e54a185401a6d0
返回示例:
{"errcode":0,
"msg":"ok",
"Status":0,
"merSeqId":"2018050817000088888",
"OrderId":"2018050817000099999",
"transAmt":88.00,
"ServiceCharge":0.88,
"TotalAmount":88.88,
"sign":"41ba3b8f1759e01afc49969bf954d941"
}
返回参数说明
参数名 | 类型 | 说明 |
---|---|---|
errcode | int | 为0表示没有错误,为1表示有错误 |
msg | string | 返回错误提示 |
errcode为0时才会有以下数据 | ||
Status | int | 为0表示代付提交成功,为1表示代付提交失败 |
merSeqId | string | 商户订单流水号 |
OrderId | string | 平台生成的订单号 |
transAmt | int | 代付金额,单位:元 |
ServiceCharge | int | 代付手续费,单位:元 |
TotalAmount | int | 扣款总金额,单位:元 |
sign | string | MD5签名【msg不参与签名】 |
签名字符串:
errcode=&merSeqId=&OrderId=&ServiceCharge=&Status=&TotalAmount=&transAmt=&key=商户密钥
(msg不参与签名,errcode不为0时不返回签名)
签名举例:
> 待签名字符串:errcode=0&merSeqId=2018050817000088888&OrderId=2018050817000099999&ServiceCharge=0.88&Status=0&TotalAmount=88.88&transAmt=88.00&key=vtstvnh7SmFDAywWHmQfEtMGbiQlBpco
> 签名结果: 41ba3b8f1759e01afc49969bf954d941
二、代付异步回调:
异步回调信息以GET方式发送,且只通知一次,如有需要请使用代付查询接口。通知地址为商户传过来的回调地址NotifyUrl。处理成功后只返回字符串“success”,请商户自己控制代付订单的重复处理,我们没有收到“success”会多次回调。(如果没有通知成功,请后台补单)
参数:
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
merId | 是 | string | 商户编号,即商户会员ID |
Status | 是 | string | 订单状态,为0表示代付成功,为1表示代付失败(被驳回) |
merSeqId | 是 | string | 商户订单流水号 |
OrderId | 是 | string | 平台系统订单流水号 |
transAmt | 是 | string | 代付金额,单位元 |
ServiceCharge | 是 | string | 代付手续费,单位元 |
TotalAmount | 是 | string | 扣款总金额,单位元,扣款总金额=代付金额+代付手续费 |
sign | 是 | string | 32位MD5签名 |
签名字符串:
merId=&Status=&merSeqId=&transAmt=&ServiceCharge=&TotalAmount=&keyValue=商户密钥
注意:签名之前一定要先将字符串转换为小写后再签名;通过MD5(32位)方式签名(编码必须是gb2312,加密后转换为小写)。
签名举例:
> 待签名字符串:merId=162553&Status=0&merSeqId=2018050817000088888&transAmt=88&ServiceCharge=0.88&TotalAmount=88.88&keyValue=vtstvnh7SmFDAywWHmQfEtMGbiQlBpco
> 签名结果: cedcc7aea3e24a03c589e3dd1ae0fe97
三、代付查询接口:
请求URL(网关地址):
http://www.xx.com/API/Bank/
(请在“商户后台-接口文档”获取网关地址)
请求方式:
- POST
请求参数:
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
DFmerId | 是 | string | 商户编号,即商户会员ID |
DFOrderId | 是 | string | 代付订单流水号,商户发起支付时的订单号 |
Sign | 是 | string | 32位MD5签名 |
签名字符串:
DFmerId=&DFOrderId=&Key=商户密钥
说明:Key的K是大写的K,按照该顺序签名,参数名区分大小写,大小写与参数表对应。
注意:参数名区分大小写,大小写与参数表对应;通过MD5(32位)方式签名(编码必须是gb2312,加密后转换为小写)。
签名举例:
> 待签名字符串:DFmerId=162553&DFOrderId=20190109092948709836&Key=vtstvnh7SmFDAywWHmQfEtMGbiQlBpco
> 签名结果: 4835b9d808b4ab3b7402c929db367acd
报文返回json格式数据 返回示例:
{
"errcode":0,
"msg":"ok",
"Status":0,
"AddTime":"2018-05-08 17:00:00",
"PayTime":"2018-05-08 17:00:30",
"RealMoney":88.00,
"sign":"d9afc1f2c8338e9c8f2fabcaa85ed69d"
}
返回参数说明
参数名 | 类型 | 说明 |
---|---|---|
errcode | int | 为0表示没有错误,为1表示有错误 |
msg | string | 返回错误提示 |
errcode为0时才会有以下数据 | ||
Status | int | 为0表示成功,为1表示失败 |
AddTime | string | 下单时间 |
PayTime | string | 代付成功时间 |
RealMoney | string | 实付金额,单位:元 |
sign | string | MD5签名【msg不参与签名】 |
签名字符串:
AddTime=&errcode=&PayTime=&RealMoney=&Status=&key=商户密钥
(msg不参与签名,errcode不为0时不返回签名)
签名举例:
> 待签名字符串:AddTime=2018-05-08 17:00:00&errcode=0&PayTime=2018-05-08 17:00:30&RealMoney=88.00&Status=0&key=vtstvnh7SmFDAywWHmQfEtMGbiQlBpco
> 签名结果: d9afc1f2c8338e9c8f2fabcaa85ed69d
四、商户余额查询接口:
请求URL(网关地址):
http://www.xx.com/API/Bank/
(请在“商户后台-接口文档”获取网关地址)
请求方式:
- POST
请求参数:
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
BmerId | 是 | string | 商户编号,即商户会员ID |
Sign | 是 | string | 32位MD5签名 |
签名字符串:
BmerId=&Key=商户密钥
说明:Key的K是大写的K,按照该顺序签名,参数名区分大小写,大小写与参数表对应。
注意:参数名区分大小写,大小写与参数表对应;通过MD5(32位)方式签名(编码必须是gb2312,加密后转换为小写)。
签名举例:
> 待签名字符串:BmerId=162553&Key=vtstvnh7SmFDAywWHmQfEtMGbiQlBpco
> 签名结果: 192dcba4c2c9f5fb681eac9b56013cc3
报文返回json格式数据 返回示例:
{
"errcode":0,
"msg":"ok",
"Balance":3000.00,
"NotBalance":500.00,
"YesBalance":2500.00,
"sign":"768a8370d542c5e1c632f9aebadbf94f"
}
返回参数说明
参数名 | 类型 | 说明 |
---|---|---|
errcode | int | 为0表示没有错误,为1表示有错误 |
msg | string | 返回错误提示 |
Balance | string | 总余额,单位:元 |
NotBalance | string | 不可用余额,单位:元 |
YesBalance | string | 可用余额,单位:元 |
sign | string | MD5签名【msg不参与签名】 |
签名字符串:
Balance=&errcode=&NotBalance=&YesBalance=&key=商户密钥
(msg不参与签名,errcode不为0时不返回签名)
签名举例:
> 待签名字符串:Balance=3000.00&errcode=0&NotBalance=500.00&YesBalance=2500.00&key=vtstvnh7SmFDAywWHmQfEtMGbiQlBpco
> 签名结果: 768a8370d542c5e1c632f9aebadbf94f
注意:代付或其他需要查询余额的情况下,请以“可用余额”为准。