资源接口列表 (统一支付)
需要授权
除被扫支付场景以外,商户系统先调用该接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易回话标识后再按扫码、JSAPI等不同场景生成交易串调起支付。
请求参数:
POST请求地址:
环境 |
https请求地址 |
正式环境 |
https://openrealm.duolabao.com/v1/pay/create |
请求头:
请求头 |
示例值 |
描述 |
Content-Type |
application/json |
POST请求json格式数据,必需声明该类型 |
accessKey |
fe02aa7e8f3249fe86c93774b7103d9945f80 |
用户的公钥 |
timestamp |
102202020202 |
时间戳 |
token |
C9EF9BCE7138E21A353DE3F57187DC5E5396DD96 |
根据密钥和算法生成的结果 |
accessToken |
3rdsfaij43209dfaojf |
从授权系统获得的accessToken值 |
公共请求参数:
参数名称 |
参数类型 |
是否必填 |
最大长度 |
参数说明 |
示例值 |
customerNum |
String |
是 |
32 |
商户编号 |
10001114596730086163709 |
shopNum |
String |
是 |
32 |
店铺编号 |
10001214641783052104486 |
requestNum |
String |
是 |
32 |
流水号(用户系统内唯一) |
315080832507485 |
amount |
String |
是 |
32 |
订单金额 |
100.00 |
bankType |
String |
是 |
32 |
WX(微信支付)/JD(京东支付)/ALIPAY(支付宝支付)/QQ(QQ支付)/POS(POS支付) |
WX |
authId |
String |
是 |
32 |
用户openId |
ojiuXuGrrejS0HwGkU8R_R2MKjY8 |
callbackUrl |
String |
是 |
32 |
回调地址 |
https://www.duolabao.com |
请求JSON示例:
-
1
|
{
|
2
|
customerOpenId: '10001114991390825070154',
|
3
|
shopNum: '10001214677149716953054',
|
4
|
requestNum: '3454354444432',
|
5
|
amount: '0.01',
|
6
|
bankType: 'WX',
|
7
|
authId: 'ojiuXuGWcejS0HwGkU8R_R2MKjY8',
|
8
|
callbackUrl:' https://www.duolabao.com'
|
9
|
}
|
返回参数JSON格式:
参数名称 |
参数类型 |
是否必填 |
最大长度 |
参数说明 |
示例值 |
result |
String |
是 |
32 |
success表示成功,fail表示失败,error表示异常 |
success |
orderNum |
String |
是 |
32 |
订单编号 |
10001214641783052104486 |
requestNum |
String |
是 |
32 |
流水号(用户系统内唯一) |
建议时间戳+5位以上随机数(纯数字) |
bankRequestNum |
String |
是 |
32 |
银行批次号 |
10031115009669622861143 |
bankRequest |
PACKAGE |
String |
是 |
32 |
订单详情扩展字符串 |
prepay_id=wx2017072515131983412f14450071406962 |
ORDERNUM |
String |
是 |
32 |
订单编号 |
10001214641783052104486 |
CUSTOMERNUM |
String |
是 |
32 |
商户编号 |
10001114991390825070154 |
PAYSIGN |
String |
是 |
32 |
签名 |
4B02E702E04B02E39541C27A6989359E |
SIBGTYPE |
String |
是 |
32 |
签名方式 |
MD5 |
APPID |
String |
是 |
32 |
公众号Id |
wx290ce4878444369d |
NONCESTR |
String |
是 |
32 |
随机字符串 |
1500966799443 |
TIMESTAMP |
String |
是 |
32 |
时间戳 |
1500966799443 |
OUT_TRADE_NO |
String |
是 |
32 |
银行批次号 |
10031115009669622861143 |
errorCode |
String |
是 |
32 |
错误码 |
customerNotExist orderNotExist shopNotExist
|
errorMsg |
String |
是 |
32 |
错误信息 |
商户信息不存在 商户下订单信息不存在 商户下店铺不存在
|
响应JSON示例:
-
1
|
{
|
2
|
"data": {
|
3
|
"bankRequest": {
|
4
|
"PACKAGE": "prepay_id=wx201707251611354906c3cca00155632910",
|
5
|
"ORDERNUM": "10021015009643395281146",
|
6
|
"CUSTOMERNUM": "10001114991390825070154",
|
7
|
"PAYSIGN": "1F67E304C7BD2B56DDC2EF94CF27C02A",
|
8
|
"SIBGTYPE": "MD5",
|
9
|
"APPID": "wx290ce4878c94369d",
|
10
|
"NONCESTR": "1500970295405",
|
11
|
"TIMESTAMP": "1500970295405",
|
12
|
"OUT_TRADE_NO": "10031115009704582061145"
|
13
|
},
|
14
|
"bankRequestNum": "10031115009704582061145",
|
15
|
"orderNum": "10021015009643395281146",
|
16
|
"requestNum": "10021015009643395281146",
|
17
|
},
|
18
|
"result": "success"
|
19
|
}
|
错误响应示例:
-
1
|
{
|
2
|
"error": {
|
3
|
"errorCode": "customerNumNotExist",
|
4
|
"errorMsg": "customerNum not exist"
|
5
|
},
|
6
|
"result": "fail"
|
7
|
}
|
异常示例:
-
1
|
{
|
2
|
"error": {
|
3
|
"errorCode": "systemError",
|
4
|
"errorMsg":"错误描述"
|
5
|
},
|
6
|
"result": "error"
|
7
|
}
|
错误码解释:
错误码 |
错误描述 |
解决方案 |
paramsError |
requestNum must be specified |
参数不正确,请确认参数 |
amountInvalid |
amount invalid |
金额无效,请确认金额 |
requestNumInvalid |
requestNum invalid |
流水号无效,请确认流水号 |
tableNumInvalid |
tableNum invalid |
桌号无效,请确认桌号 |
callbackUrlInvalid |
callbackUrl invalid |
回调地址无效,请确认回调地址 |
extraInfoInvalid |
extraInfo invalid |
扩展信息无效,请确认扩展信息 |
customerNotExist |
customer not exist |
商户不存在 |
customerNotActive |
customer not active |
商户未激活 |
shopNotExist |
shop not exist |
店铺不存在 |
shopIsClosed |
shop is closed |
店铺已关闭 |
machineNotExist |
machine not exist |
机具不存在 |
machineNotUsing |
machine not using |
机具未使用 |
machineExsit |
machine:[编号] is exsit |
机具号已经存在,请确认机具号 |
generalUrlFailed |
general url failed |
生成支付链接失败,请重新生成支付链接 |
notSupportPayWay |
pay way not support |
暂不支持该扫码方式 |
payAmountExceed |
customer pay amount exceed |
商户正在审核,交易金额超限,请联系客服核实进度。 |
payFailed |
pay failed |
支付失败,请更换其它付款方式或稍后再试 |