2.14JS收银台入口

优质
小牛编辑
130浏览
2023-12-01

说明

本接口用于直接调用JS支付功能。

请求地址

http://wx.dc78.cn/Payw/go.html
新版地址:https://pay.dc78.cn/000615.html(推荐)

请求方式

GET直接跳转网页

请求参数

参数参数名称必填描述范例
msid
门店编号



bzid
业务单号



amt
结账金额



desc
商品名称

(可选)商品名称

redirect_url
支付成功后跳转页面

(可选)支付成功后跳转页面

notify_url
支付成功后通知页面

(可选)支付成功后通知页面

openid
传入微信用户openid,建议传入

(可选)传入微信用户openid,建议传入

调用过程

例如:http://wx.dc78.cn/Payw/go?msid=226&bzid=20170513118&amt=118
新版地址:https://pay.dc78.cn/000615.html?p=gpcs&msid=6786&bzid=20200617001&amt=0.01

如果要使用redirect_url,notify_url,注意用encodeURIComponent进行编码,否则notify_url中有多个URL参数会无法识别

为避免链接被盗用,金额字段被随意更改,导致商家损失问题,现增加签名验证模式(推荐):

使用签名模式示例请求地址(程序根据判断msg_sign参数是否为空,来决定是否需要验签验证,若msg_sign为空或者不传,则不进行验签处理):https://pay.dc78.cn/000615.html?p=gpcs&msid=6786&bzid=20200617001&amt=0.01&redirect_url=http%3A%2F%2Ft1.dc78.cn%2FBiz%2Fnr_tui1231%3Fqw%3D11%26rt%3D22¬ify_url=http%3A%2F%2Ft1.dc78.cn%2FBiz%2Fnr_tui1231%3Fqw%3D11%26rt%3D22&msg_sign=7c5d96041e4288fc234af179c799b1172f83b5c7&gpid=gp118cd1998e0a0049×tamp=20201126135811&nonce=xXp6vhlY2TMQ4ddt&signtype=sha1

签名基本要求

接口协议get部分签名公共参数如下:

gpid:应用id

timestamp:日期格式yyyyMMddHHmmss,如:20190820115428;注意:时间会进行校验,请保证时间误差不超过60分钟

nonce:随机数

signtype:签名方式,目前取值:sha1
msg_sign:签名

请求参数中get参数部分需要进行签名(msg_sign除外)

签名生成方式

签名生成的通用步骤如下:

第一步:将GET参数(gpid、timestamp、nonce、signtype、等其他业务参数)按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。注意:空值不参与签名

第二步:在stringA最后通过(半角逗号)拼接上开发商apikey得到stringSignTemp字符串

第三步:对stringSignTemp进行sha1加密运算,再将得到的字符串所有字符转换为大写,得到sign值signValue

◆开发商apikey:果盘代理商后台-->开发管理-->APP应用管理-->对应应用ID的应用秘钥appsecret

举例:
假设接口请求URI地址:https://pay.dc78.cn/000615.html

传送的GET参数如下:

gpid:gp123456789

timestamp:20200320114702

nonce:45645

signtype:sha1

bzid:200121

msid:6786

amt:88.88

第一步:对参数按照key=value的格式,并按照参数名ASCII字典序排序如下:

stringA="gpid=gp123456789&timetamp=20200320114702&nonce=45645&signtype=sha1&p=gpcs&bzid=200121&msid=6786&amt=88.88";

第二步:拼接开发商appsecret密钥:

stringSignTemp=stringA+",192006250b4c09247ec02edce69f6a2d"//注:appsecret为开发商后台分配是appsecret

msg_sign=sha1(stringSignTemp)="9A0A8659F005D6984697E2CA0A9CF3B7"//注:sha1签名方式
第三步:拼接实际请求连接:
https://pay.dc78.cn/000615.html?gpid=gp123456789×tamp=20200320114702&nonce=45645&signtype=sha1&p=gpcs&bzid=200121&msid=6786&amt=88.88&msg_sign=9A0A8659F005D6984697E2CA0A9CF3B7

注意:

1.appsecret仅仅在生成签名时需要用,在提交时不能加上!!

2.空值不参与签名!!

3.redirect_url和notify_url两个参数参与签名前先分别进行urlEncode处理(encodeURIComponent进行编码)

通知

参数中设置redirect_url后,支付成功将会跳转redirect_url地址

参数中设置notify_url后,支付成功将会POST一个JSON到此地址,JSON格式如下:

{ "payid":9817557,

"paylist":{

"pay_wx":118,

"pay_mc":0

}

}

notify_url收到支付回调后,需要返回一个JSON

{"state":1,

"info":"ok"}

参数参数名称必填描述范例
payid
平台支付流水号



paylist
本次支付付款项目

pay_mc=微信支付,pay_ali=支付宝,pay_mc=会员卡,有可能会出现多个付款项目