1、在首页引入http://res.wx.qq.com/open/js/jweixin-1.2.0.js这个js路径(也可以把这个文件下载下来再引入)。
2、用户点击微信支付时候向后台发起一个ajax请求,在success函数中写这段代码
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '', // 必填,公众号的唯一标识
timestamp: , // 必填,生成签名的时间戳
nonceStr: '', // 必填,生成签名的随机串
signature: '',// 必填,签名
jsApiList: [] // 必填,需要使用的JS接口列表
});
请求成功后 让后台把这些参数给你返回回来,你配置上。
3、配置完 调起微信支付(下面这段是在config后面写的,都是在success里面)
wx.chooseWXPay({
timestamp: param.timestamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
nonceStr: param.noncestr, // 支付签名随机串,不长于 32 位
package: "prepay_id=" param.transNo, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)
signType: "MD5", // 签名方式,默认为′SHA1′,使用新版支付需传入′MD5′
paySign: param.sign, // 支付签名
success: function (res) {
if(res.errMsg == "chooseWXPay:ok"){
if语句是判断条件是是否支付成功,他是说如果微信返回的信息是ok我在
if语句函数体里写个ajax再次跟后台确认是否真成功了,如果他也确认成
功了我就返回给用户支付成功,在else语句里是是弹出微信服务端返回的
信息,这个我不用管 他返回的啥我就不用再次判断
我要在if语句函数体内再写个ajax跟后台通讯
//alert("支付成功");
window.location.href = "/hims/weixin/pages/Order_ok.html?access_token=" getUrlParam("access_token");
}else{
alert(res.errMsg);
}
},
cancel: function(res){
//alert(′取消支付′);
}
});
4、支付成功或者失败 微信都会返回你浏览器,微信通知你支付成功还是失败 error 里面要输出一下信息,支付失败原因有很多 很难一次就成功。wx.pay 之后 你看要不要向后台查询订单是否支付成功