前端微信支付js代碼
本文實例為大家分享了前端微信支付js代碼,供大家參考,具體內(nèi)容如下
$('.Save_Patient_Msg').click(function(){
$('.Save_Patient_Msg').off('click');
var hrdfId = getOrderId();
var txnAmt = $('.sum_pay.font-red').html();
var data = {orderId: hrdfId, txnAmt: "0.01",
prodDesc: "遠程診斷服務", callType: "JSAPI",
access_token: getUrlParam("access_token")
};
$.ajax({
type: 'POST',
url: '/hims/api/commonPay/queryTransNo?access_token='+getUrlParam('access_token'),
dataType:'json',
contentType:'application/json',
data: JSON.stringify(data),
success: function(Wxres){
if(!Wxres){
$.alert('服務器擁堵,請稍后訪問')
}else{
console.log(Wxres);
if(Wxres.data.respCode == 'fail'){
$.alert(Wxres.data.respMsg);
}else{
//10 微信支付接口
// 10.1 發(fā)起一個支付請求
// 注意:此 Demo 使用 2.7 版本支付接口實現(xiàn),建議使用此接口時參考微信支付相關(guān)最新文檔。
var param = Wxres.data;
wx.config({
debug: false, // 開啟調(diào)試模式,調(diào)用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數(shù),可以在pc端打開,參數(shù)信息會通過log打出,僅在pc端時才會打印。
appId: 'wx403ead26691402fb', // 必填,公眾號的唯一標識
timestamp: param.timestamp, // 必填,生成簽名的時間戳
nonceStr: param.noncestr, // 必填,生成簽名的隨機串
signature: param.signJs,// 必填,調(diào)用js簽名,
jsApiList: ['chooseWXPay'] // 必填,需要使用的JS接口列表,這里只寫支付的
});
wx.chooseWXPay({
timestamp: param.timestamp, // 支付簽名時間戳,注意微信jssdk中的所有使用timestamp字段均為小寫。但最新版的支付后臺生成簽名使用的timeStamp字段名需大寫其中的S字符
nonceStr: param.noncestr, // 支付簽名隨機串,不長于 32 位
package: "prepay_id="+param.transNo, // 統(tǒng)一支付接口返回的prepay_id參數(shù)值,提交格式如:prepay_id=***)
signType: "MD5", // 簽名方式,默認為'SHA1',使用新版支付需傳入'MD5'
paySign: param.sign, // 支付簽名
success: function (res) {
if(res.errMsg == "chooseWXPay:ok"){
//alert("支付成功");
window.location.href = "/hims/weixin/pages/Order_ok.html?access_token="+getUrlParam("access_token");
}else{
alert(res.errMsg);
}
},
cancel: function(res){
//alert('取消支付');
}
});
}
}
},
error:function(data){
var msg = data.message || data.status;
$.alert('服務器錯誤'+msg);
}
});
return false;
});
function getUrlParam(name){
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); //構(gòu)造一個含有目標參數(shù)的正則表達式對象
var r = window.location.search.substr(1).match(reg); //匹配目標參數(shù)
if (r!=null) return unescape(r[2]); return null; //返回參數(shù)值
}
})
本文已被整理到了《JavaScript微信開發(fā)技巧匯總》,歡迎大家學習閱讀。
為大家推薦現(xiàn)在關(guān)注度比較高的微信小程序教程一篇:《微信小程序開發(fā)教程》小編為大家精心整理的,希望喜歡。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
javascript 使用for循環(huán)時該注意的問題-附問題總結(jié)
所謂for循環(huán)就是重復的執(zhí)行一段代碼,for循環(huán)也是希望在創(chuàng)建循環(huán)時常會用到的工具,這篇內(nèi)容主要給大家介紹javascript 使用for循環(huán)時該注意的問題-附問題總結(jié),需要的朋友可以參考下2015-08-08
JavaScript超詳細實現(xiàn)網(wǎng)頁輪播圖
這篇文章主要介紹了JavaScript超詳細實現(xiàn)網(wǎng)頁輪播圖,我們經(jīng)常會看到各種輪播圖的效果,它們到底是怎樣實現(xiàn)的呢?今天我們就一起來看一下具體實現(xiàn)方法吧2021-12-12
JavaScript 另類遍歷數(shù)組實現(xiàn)代碼
JavaScript 另類遍歷數(shù)組實現(xiàn)代碼,大家可以看下。2009-10-10
layer.prompt使文本框為空的情況下也能點擊確定的方法
今天小編就為大家分享一篇layer.prompt使文本框為空的情況下也能點擊確定的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09

