扫码⼩程序⽀付 *(*⾮提供 *javascript sdk )*⽂档
接⼝名称
https://api.seatent.com/api/v2/weixin/getWeiXinQRcode
参数预览
{
accountId: 'accountId',
appkey: 'appkey',
memberId: 'memberId',
token: 'token'
timestamp: 'timestamp' // 时间
path: 'pages/qrCode/qrCode', // 固定参数 ⼩程序路由
appid: 'wxfe7e2a29862f8e26', // 固定参数 ⼩程序的appid
content: '{"memberId":"memberId","type":"qrPay","dataObj":
{"memberId":"memberId","orderSn":"orderSn"}}', // 参数需要特殊化,下⽂会将
}
注意事项
content 中参数介绍
{
memberId: 'memberId', // memberId就是接⼝带的memberId
type: 'qrPay', // 固定参数,⼩程序的⽀付类型
dataObj: {
memberId:"memberId",// memberId就是接⼝带的memberId
orderSn:"orderSn" // 订单sn
}
}
请求前补充 topSign 字段 加密⽅法⼀览*(js)*
加密需要排序,如果是⾛后端中间件,⾃⾏补充语⾔类sha1加密和字
前期排序
paramsData.topSign = topSign(paramsData); // 加密⽅法
paramsData.content = encodeURIComponent(paramsData.content); // 加密后 content 需要 encode
补充url拼接
getUrlQuery(url, params) {
const keys = Object.keys(params);
let paramsUrl = '';
keys.forEach((item) => {
if (!paramsUrl) {
paramsUrl = '?';
}
paramsUrl += ${item}=${params[item]}&;
});
paramsUrl = paramsUrl.substr(0, paramsUrl.length - 1);
}
ajax.get(getUrlQuery('/api/v2/weixin/getWeiXinQRcode', paramsData)) // 模拟接⼝