這篇文章主要介紹了前端調用微信支付接口的方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
支付按鈕的點擊事件
$(′.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 發起一個支付請求 // 注意:此 Demo 使用 2.7 版本支付接口實現,建議使用此接口時參考微信支付相關最新文檔。 var param = Wxres.data; wx.config({ debug: false, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。 appId: ′wx403ead26691402fb′, // 必填,公眾號的唯一標識 timestamp: param.timestamp, // 必填,生成簽名的時間戳 nonceStr: param.noncestr, // 必填,生成簽名的隨機串 signature: param.signJs,// 必填,調用js簽名, jsApiList: [′chooseWXPay′] // 必填,需要使用的JS接口列表,這里只寫支付的 }); 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"){ //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;
});
獲取url代碼
function getUrlParam(name){ //構造一個含有目標參數的正則表達式對象 var reg = new RegExp("(^|&)" name "=([^&]*)(&|$)"); //匹配目標參數 var r = window.location.search.substr(1).match(reg); //返回參數值 if (r!=null) return unescape(r[2]); return null;}
感謝你能夠認真閱讀完這篇文章,希望小編分享前端調用微信支付接口的方法內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。