亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > HTML5 > 正文

詳解Html5微信支付爬坑之路

2024-09-05 07:19:20
字體:
來源:轉載
供稿:網友

前言

在開發微信公眾號活動中,由于之前沒有接觸過與微信相關的開發,所以導致掉坑,爬坑,不過也讓我對微信公眾和微信官方文檔的熟悉大大增加。

爬坑之路

爬坑一:單頁SPA和后端路由的問題

這個我已經單獨做總結:http://www.49028c.com/article/144341.htm

爬坑二:安卓大概率調起微信支付失?。ㄒ胛⑿诺膉s-sdk包失?。?/p>

在微信的官方文檔中:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6

有這樣的一個DEMO:

function onBridgeReady(){   WeixinJSBridge.invoke(      'getBrandWCPayRequest', {         "appId":"wx2421b1c4370ec43b",     //公眾號名稱,由商戶傳入              "timeStamp":"1395712654",         //時間戳,自1970年以來的秒數              "nonceStr":"e61463f8efa94090b1f366cccfbbb444", //隨機串              "package":"prepay_id=u802345jgfjsdfgsdg888",              "signType":"MD5",         //微信簽名方式:              "paySign":"70EA570631E4BB79628FBCA90534C63FF7FADD89" //微信簽名       },      function(res){      if(res.err_msg == "get_brand_wcpay_request:ok" ){      // 使用以上方式判斷前端返回,微信團隊鄭重提示:            //res.err_msg將在用戶支付成功后返回ok,但并不保證它絕對可靠。      }    }); }if (typeof WeixinJSBridge == "undefined"){   if( document.addEventListener ){       document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);   }else if (document.attachEvent){       document.attachEvent('WeixinJSBridgeReady', onBridgeReady);        document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);   }}else{   onBridgeReady();}

在后端同事授權成功后,在活動頁面頁面引入這段代碼,開開心心,build 提交 測試 嗯蘋果沒問題,安卓好像沒問題,然鵝安卓有時候調不起支付,開始以為是微信版本的原因,等等其他,但是,調起成功的概率也太TM低了,10次才能調起1次,得,肯定是代碼原因了。改吧。

解決思路:

開微信開發者工具,打log,最后發現在這一步時候if (typeof WeixinJSBridge == "undefined")

1.ios能夠調起微信瀏覽器的js-sdk

2.安卓大部分都走到undefined里面去了

這里其實我也不太清楚原因。個人感覺是微信安卓的內置瀏覽器版本和這個 WeixinJSBridge 方法的問題。(希望有大神能夠解答一下)

既然js-sdk 調不起,那就手動引入配置吧 //所以有時候偷懶反而更加麻煩,吸取教訓

if (typeof WeixinJSBridge == "undefined"){    console.log( WeixinJSBridge);   if( document.addEventListener ){       document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);   }else if (document.attachEvent){       document.attachEvent('WeixinJSBridgeReady', onBridgeReady);        document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);   }}else{   onBridgeReady();}

Vue引入微信js-sdk包

npm i -S weixin-js-sdk

在需要引入的頁面引入模塊

import wx from 'weixin-js-sdk'

配置(參考微信官方文檔:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115):

wx.config({    debug: true, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。    appId: '', // 必填,公眾號的唯一標識    timestamp: , // 必填,生成簽名的時間戳    nonceStr: '', // 必填,生成簽名的隨機串    signature: '',// 必填,簽名    jsApiList: [] // 必填,需要使用的JS接口列表 比如我要調用支付接口 那么就是 [chooseWXPay]});

這里timestamp是小寫 s 是小寫,數據類型是 int 類型

接下來既然配置成功了,那就繼續看官方文檔

在官方文檔是這么說的,有個ready的方法,在config驗證成功之后,把接口放在里面確保執行。

wx.ready(function(){    // config信息驗證后會執行ready方法,所有接口調用都必須在config接口獲得結果之后,config是一個客戶端的異步操作,所以如果需要在頁面加載時就調用相關接口,則須把相關接口放在ready函數中調用來確保正確執行。對于用戶觸發時才調用的接口,則可以直接調用,不需要放在ready函數中。});

ready里面的引入參數(注意數據類型,和后端同事好好配合- -)

wx.chooseWXPay({timestamp: 0, // 支付簽名時間戳,注意微信jssdk中的所有使用timestamp字段均為小寫。但最新版的支付后臺生成簽名使用的timeStamp字段名需大寫其中的S字符nonceStr: '', // 支付簽名隨機串,不長于 32 位package: '', // 統一支付接口返回的prepay_id參數值,提交格式如:prepay_id=/*/*/*)signType: '', // 簽名方式,默認為'SHA1',使用新版支付需傳入'MD5'paySign: '', // 支付簽名success: function (res) {// 支付成功后的回調函數}});

附上本人的demo

在ready里面使用Vue data中的數據,一不小心掉到this指向的坑,如果不加bind,wx.chooseWXPay里面的參數是拿不到從后端請求回來的數據的,這里的this并不是指向VueComponent,自然無法獲取請求后我賦值給this.wx_config這個數組對象的數據。

getConfig(){            wx.config({                debug: this.wx_config.debug, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。                appId: this.wx_config.appId, // 必填,公眾號的唯一標識                timestamp: this.wx_config.timestamp, // 必填,生成簽名的時間戳                nonceStr: this.wx_config.nonceStr, // 必填,生成簽名的隨機串                signature:this.wx_config.signature,// 必填,簽名                jsApiList: this.wx_config.jsApiList // 必填,需要使用的JS接口列表            });            //微信支付            wx.ready(function() {                // console.log(this.jsApiCall());                wx.chooseWXPay({                    timestamp: this.wechat_code.timestamp,                    nonceStr:this.wechat_code.nonceStr,                    package: this.wechat_code.package,                    signType: this.wechat_code.signType,                    paySign: this.wechat_code.paySign,                    success: function () {                        // 支付成功后的回調函數                        alert("支付成功");                        window.location.href = "/hd/becomevip";                    },                    cancel: function() {                        alert("支付失敗");                    }                });            }.bind(this));        },

總結:

踩坑總是難免的,總結,還有不要因為怕麻煩而不去做正確的事~

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产欧美日韩高清| 日韩成人在线视频观看| 亚洲伊人成综合成人网| 日韩禁在线播放| 亚洲成人精品av| 日韩av影视综合网| 久久天天躁狠狠躁夜夜爽蜜月| 国产在线观看精品| 97国产精品视频人人做人人爱| 51ⅴ精品国产91久久久久久| 91地址最新发布| 中文字幕少妇一区二区三区| 美女啪啪无遮挡免费久久网站| 亚洲欧美日韩图片| 国外成人在线直播| 在线免费观看羞羞视频一区二区| 欧美有码在线视频| 在线播放日韩欧美| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美乱大交xxxxx另类电影| 亚洲精品国产电影| 精品国产依人香蕉在线精品| 亚洲激情自拍图| 日韩中文在线中文网在线观看| 欧美激情乱人伦| 欧美激情视频网址| 都市激情亚洲色图| 日韩专区在线播放| 欧美亚洲日本黄色| 欧美大片欧美激情性色a∨久久| 中文日韩在线观看| 亚洲摸下面视频| 日韩精品免费电影| 精品自在线视频| 欧美精品电影在线| 亚洲视频欧美视频| 久久综合伊人77777尤物| 久久久成人的性感天堂| 日韩在线播放视频| 亚洲免费影视第一页| 亚洲人成网站免费播放| 亚洲色图综合网| 亚洲精品xxx| 亚洲xxxx视频| 亚洲最大福利网站| 日韩在线观看你懂的| 精品久久久久久中文字幕一区奶水| 日韩在线视频二区| 日本欧美中文字幕| 国产精品久久久久久久久免费| 日本精品久久中文字幕佐佐木| 国产在线一区二区三区| 精品亚洲国产视频| 国产精品爱啪在线线免费观看| 亚洲国产高清福利视频| 国产在线精品一区免费香蕉| 欧美在线观看网址综合| 亚洲视屏在线播放| 国产视频自拍一区| 国产日本欧美一区二区三区| 最近免费中文字幕视频2019| 国产精品av免费在线观看| 丝袜美腿亚洲一区二区| 98精品国产自产在线观看| 92裸体在线视频网站| 日韩暖暖在线视频| 日韩视频免费在线| 国产成人精品日本亚洲| 亚洲另类xxxx| 欧美乱妇高清无乱码| 亚洲精品电影网站| 最近2019年日本中文免费字幕| 精品国产一区久久久| 91精品国产91久久久久久不卡| 久久伊人色综合| 亚洲字幕在线观看| 91av视频导航| 91精品国产综合久久香蕉922| 欧美在线观看一区二区三区| 亚洲天堂日韩电影| 欧美亚洲视频在线看网址| 97香蕉久久夜色精品国产| 日韩久久精品电影| 国语自产精品视频在线看抢先版图片| 亚洲国产成人久久综合一区| 国产精品久久综合av爱欲tv| 日韩精品电影网| 国产精品视频男人的天堂| 亚洲a在线播放| 成人免费视频97| yellow中文字幕久久| 亚洲影院色在线观看免费| 51色欧美片视频在线观看| 国产精品成人播放| 欧美性开放视频| 日韩的一区二区| 成人免费看片视频| 亚洲黄色www网站| 中文国产成人精品久久一| 国产精品免费福利| 久久久久久久久中文字幕| 在线视频亚洲欧美| 国产亚洲精品久久久久久牛牛| 孩xxxx性bbbb欧美| 久久久久www| 欧美视频一区二区三区…| 久久影院免费观看| 国产精品羞羞答答| 国产亚洲视频在线| 久久精品99国产精品酒店日本| 日韩电影大全免费观看2023年上| 超碰日本道色综合久久综合| 亚洲黄色www网站| 中文字幕精品www乱入免费视频| 国产精品青草久久久久福利99| 狠狠躁夜夜躁人人爽超碰91| 欧美激情久久久| 91美女福利视频高清| 欧美精品在线免费播放| 久久久精品日本| xxxxxxxxx欧美| 成人啪啪免费看| 亚洲男人7777| 欧美国产精品va在线观看| 亚洲欧美国产日韩天堂区| 九九久久久久99精品| 日韩三级影视基地| 国产精品国产福利国产秒拍| 97精品视频在线观看| 亚洲综合国产精品| 亚洲第一黄色网| 久久精品亚洲热| 91精品久久久久久久久久久| 日韩免费在线看| 亚洲缚视频在线观看| 成人有码视频在线播放| 欧美激情视频免费观看| 亚洲福利视频免费观看| 国产精品久久久久久久久借妻| 久久777国产线看观看精品| 国产精品视频久久| 久久久99久久精品女同性| 在线不卡国产精品| 91国产高清在线| 91视频88av| 欧美夫妻性视频| 欧美日韩高清在线观看| 97久久精品人搡人人玩| 97人洗澡人人免费公开视频碰碰碰| 久久中国妇女中文字幕| 亚洲人成网7777777国产| 亚洲视频在线视频| 欧美日韩国产123| 欧美日韩国产限制| 亚洲精品日韩久久久| 久久免费视频网站| 中文字幕视频一区二区在线有码| 色综合天天狠天天透天天伊人| 亚洲激情小视频| 久热精品视频在线| 日韩一区二区av| 欧美大片免费观看在线观看网站推荐| 俺去亚洲欧洲欧美日韩| 日韩精品高清视频|