js調用微信支付


<%String check = Pay.WxJsApiCheck();%> //獲取微信支付所需check  詳情看http://www.cnblogs.com/tianhao2017/p/7243132.html

<script type="text/javascript">
wx.config({
debug: false, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。
<%=check%>,// 必填,簽名,見附錄1
jsApiList: ['chooseWXPay'] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2
});
wx.ready(function(){

});
wx.error(function(res){
// config信息驗證失敗會執行error函數,如簽名過期導致驗證失敗,具體錯誤信息可以打開config的debug模式查看,也可以在返回的res參數中查看,對於SPA可以在這里更新簽名。
});
$(function() {
var access_code='';
var uri = encodeURIComponent("url");//支付頁面,發起授權之后微信回調到該地址
var access_code = getQueryString('code');

var appid = "";//用戶appid
if (access_code == null) {
var fromurl = location.href; //獲取授權code的回調地址,獲取到code,直接返回到當前頁
var url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=‘+appid+’&redirect_uri='+uri+'&response_type=code&scope=snsapi_base&state=123#wechat_redirect';
location.href = url;
} else {
$.ajax({ //ajax請求后台獲取openid
url : '../postOpenid',
type : 'post',
data : {
code : access_code
},
dataType : 'text',
success : function(data) {
if(data==null){
layer.open({
content : '異常,請聯系客服',
skin : 'msg',
time : 2
});
return false;
}else{
var shouprices= $("#shopprices").val();
var recharge=$("#recharge").val();
var kuaikeId=$("#kuaikeId").val();
var xiaId=$("#xiaId").val();
var openid=data;
$.ajax({
type : 'post',
url : '../toPay',
data : {
openid:openid,
shouprices:shouprices,
xiaid:xiaId,
kuaikeId:kuaikeId,
recharge:recharge
},
dataType : 'text',
success : function(result) {
var timestamp = result.substring(13,23).toString();
var nonceStr = result.substring(37,47).toString();
var paySign = result.substring(60,92).toString();
var package1 = result.substring(105,151).toString();
wx.checkJsApi({
jsApiList: ['chooseWXPay'], // 檢查微信支付接口是否可用
success: function (res) {
if(res.checkResult.chooseWXPay){
wx.chooseWXPay({
'timestamp':timestamp,
'nonceStr':nonceStr,
'package':package1,
'paySign':paySign,
'signType':'MD5'
, // 支付簽名
cancel:function(res){

//支付取消
},
error:function(res){

//支付出錯
},
success:function(res){
if(recharge=="balance"){

//成功

}
},
})
}
},error:function(index){
layer.open({
content : '異常,請聯系客服',
skin : 'msg',
time : 2
});
return false;
}
});
},error:function(index){
layer.open({
content : '異常,請聯系客服',
skin : 'msg',
time : 2
});
return false;
}
});
}
}
});
}
})

 

function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = location.search.substr(1).match(reg);
if (r != null)
return unescape(decodeURI(r[2]));
return null;
}
</script>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM