小程序w微信支付功能
1,开通/绑定微信支付商户号
- 申请微信支付,包括微信认证已提供的资料外,你还需要提供以下材料:
2,小程序调用支付流程图

小程序支付接口
支付需要5个参数
timeStamp:时间戳(字符串形式)
nonceStr:随机字符串
package:统一下单的 prepay_id=*
signType:"MD5"
paySign:签名
paySign 注意以下重要规则:
paySign = MD5(appId=小程序APPId&nonceStr=随机字符串&package=prepay_id=支付id&signType=MD5&timeStamp=时间戳&key=商户**)
小程序操作步骤(为了安全起见,建议paySign参数也由后端生成):
1,将订单id,类型按照要求传给后台,获取prepay_id,timeStamp,nonceStr等数据。
2,将数据封装并MD5化。
let stringSignTemp = 'appId=' + payObj.appid + '&nonceStr=' + payObj.noncestr + '&package=' + payObj.package + '&signType=MD5&timeStamp=' + timeStamp + '&key=qazwsxedcrfvtgbyhnujmikolp111111'
let paySign = util.hexMD5(stringSignTemp).toUpperCase();
3,调用wx.requestPayment 支付api
wx.requestPayment({
'timeStamp': timeStamp,
'nonceStr': payObj.noncestr,
'package': payObj.package,
'signType': 'MD5',
'paySign': paySign,
'success': function (res) {
console.log(res)
},
'fail': function (res) {
console.log(res)
}
})
附:常用js操作
-
randomString: function () {
-
var chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/
-
var maxPos = chars.length;
-
for (var i = 0; i < 32; i++) {
- pwd += chars.charAt(Math.floor(Math.random() * maxPos));
-
createTimeStamp: function () {
-
return parseInt(new Date().getTime() / 1000) + ''