微信小程序與webview交互實(shí)現(xiàn)支付功能
實(shí)現(xiàn)原理:點(diǎn)擊h5網(wǎng)頁的支付按鈕——(跳轉(zhuǎn))——>嵌套改h5的小程序的支付頁面——(處理支付)——>跳轉(zhuǎn)至支付完成后的頁面
注意:(1)網(wǎng)頁h5中,引入微信的jssdk
<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
(2)小程序嵌套h5頁面后,需要在微信公眾平臺(tái)配置h5網(wǎng)頁的業(yè)務(wù)邏輯名,否則無法訪問(且配置業(yè)務(wù)邏輯名的小程序只能是企業(yè)小程序,個(gè)人小程序暫時(shí)無法實(shí)現(xiàn))。
操作:登錄微信公眾平臺(tái)————開發(fā)——————開發(fā)設(shè)置
小程序目錄
<!--webview中(小程序page)--> //pages/lnyc2019/index.wxml <web-view class='page_web' src="{{url}}"></web-view> //pages/lnyc2019/index.js Page({ data: { url:'https://xxxxxxxx/wxmini/index.html'//h5地址 } })
<!--wxPay中(小程序page)--> // pages/wxPay/index.js Page({ data: { payTempcode:'', ordercode:'', payParam:{} }, onLoad: function (options) { console.log('支付開始'); console.log(options); this.setData({ ordercode: options.ordercode }); this.getTempcode(); }, // 換取支付臨時(shí)code getTempcode:function(){ wx.login({ success: res => { // 發(fā)送 res.code 到后臺(tái)換取 openId, sessionKey, unionId this.setData({ payTempcode:res.code }); console.log('支付code:', this.data.payTempcode); this.getPayinfo(); } }) }, // 換取支付參數(shù) getPayinfo:function(){ var self=this; wx.request({ url: 'https://xxxxxx/pay/xcxpay',//后臺(tái)接口地址 data: { 'wxcode': self.data.payTempcode, 'ordercode': self.data.ordercode, 'gid': x, }, method: 'POST', success: function (res) { console.log(res.data.data.payinfo); self.setData({ payParam: res.data.data.payinfo }); console.log('支付的訂單====',self.data.ordercode); // 調(diào)起支付 wx.requestPayment({ 'timeStamp': self.data.payParam.time,//為字符串,否則報(bào)錯(cuò) 'nonceStr': self.data.payParam.nonce_str, 'package': `prepay_id=${self.data.payParam.prepay_id}`, 'signType': 'MD5', 'paySign': self.data.payParam.paysign, 'success': function (res) { console.log(res) console.log('=======支付成功=========='); wx.navigateTo({ url: `/pages/lnyc2019/detail?ordercode=${self.data.ordercode}` }) }, 'fail': function (res) { console.log(res) console.log('=======支付失敗==========') wx.navigateBack({ delta: 1//返回1個(gè)頁面 }) } }) } }) } })
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
js將網(wǎng)址轉(zhuǎn)為urlencode類型
網(wǎng)址urlencode加密函數(shù),主要用于中文目錄2008-06-06Javascript實(shí)現(xiàn)關(guān)閉廣告效果
這篇文章主要為大家詳細(xì)介紹了Javascript實(shí)現(xiàn)關(guān)閉廣告效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-01-01javascript實(shí)現(xiàn)簡(jiǎn)單的頁面右下角提示信息框
本文給大家分享的是使用javascript實(shí)現(xiàn)簡(jiǎn)單的頁面右下角提示信息框的方法和示例代碼,有需要的小伙伴可以參考下。2015-07-07