国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微信H5頁面實(shí)現(xiàn)微信小程序支付

這篇具有很好參考價(jià)值的文章主要介紹了微信H5頁面實(shí)現(xiàn)微信小程序支付。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

背景:

在微信H5頁面已經(jīng)實(shí)現(xiàn)了微信JSAPI的網(wǎng)頁支付,老板要求把整個(gè)業(yè)務(wù)線快速轉(zhuǎn)移到微信小程序中,作為懶惰的程序員來說,直接把頁面嵌套到小程序不就行了。說干就干,在小程序中設(shè)置好基本信息后,一預(yù)覽居然成功了,一切看來是那么順利,可到了系統(tǒng)的支付環(huán)節(jié)時(shí),小程序是無法調(diào)用JSAPI微信支付的,難不成要重構(gòu)所有頁面轉(zhuǎn)成小程序?這可是個(gè)大工程,作為業(yè)余前端的我來說肯定搞不定。于是在網(wǎng)上就搜索了一下,確實(shí)有解決方案,樓主就花點(diǎn)時(shí)間給大家整理一下。

前提條件:

了解微信支付相關(guān)的接口文檔,有微信小程序的基本開發(fā)經(jīng)驗(yàn)。

思路:

小程序打開H5頁面后,在需要調(diào)用微信支付的頁面用js做當(dāng)前頁面環(huán)境判斷:


var is_weixin_app = window.__wxjs_environment === 'miniprogram';

如果是在小程序中打開,則通過wx.miniProgram.navigateTo 方法跳轉(zhuǎn)到小程序的內(nèi)置頁面:


<script src="https://res2.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
if(is_weixin_app){
wx.miniProgram.navigateTo({url:'/pages/pay/pay?api_token='+api_token+'&order_id='+order_id+'&amount='+order_amount});
}

在小程序內(nèi)置頁面pay中獲取傳過來的參數(shù),做業(yè)務(wù)處理,然后調(diào)用小程序的支付接口,獲取小程序需要的關(guān)鍵支付參數(shù)(該方法可參考微信支付對(duì)接文檔:小程序支付開發(fā)指引):


'timeStamp': mydata.timeStamp,
'nonceStr': mydata.nonceStr,
'package': mydata.package,
'signType': mydata.signType,
'paySign': mydata.paySign,

小程序支付需要的openid參數(shù),這個(gè)openid和微信公眾號(hào)的openid不是相同的,所以小程序內(nèi)置app.js還需要獲取小程序的openid(微信小程序無需授權(quán)可直接根據(jù)code獲取openid,微信公開接口:https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code),并將openid存在全局變量中:


App({
  onLaunch() {
    let that = this;
    wx.login({
      success (res) {
          if (res.code) {
              //發(fā)起網(wǎng)絡(luò)請(qǐng)求
              wx.request({
                  url: 'https://localhost/api/home/wxapp_openid', //接口地址
                  data: {
                    code: res.code
                  },
                  success: function (res){
                    that.globalData.openid = res.data.data.openid;
                  }
              })
          }
      }
  })
  
  },
  globalData: {
    userInfo: null,
    openid:''
  }
})
小程序頁面構(gòu)造截圖:
小程序嵌套h5頁面調(diào)起支付,日常學(xué)習(xí),學(xué)習(xí),微信小程序,前端,小程序,小程序支付

說明:index是小程序的首頁,用來打開H5的鏈接


---index.js代碼:
Page({
  data: {
    bg_url : "https://localhost"
  },
  onLoad() {
  },
})


---index.wxml代碼:
<!--index.wxml-->
<official-account></official-account>
<web-view src="{{bg_url}}"></web-view>

pay是H5鏈接支付時(shí)跳轉(zhuǎn)到的小程序支付頁面文章來源地址http://www.zghlxwxcb.cn/news/detail-623706.html


---pay.js代碼:
let order_id=0,amount=0,quotation_id=0,api_token=0;
var app = getApp();
Page({
  /**
   * 頁面的初始數(shù)據(jù)
   */
  data: {},
  /**
   * 生命周期函數(shù)--監(jiān)聽頁面加載
   */
  onLoad(options) {
    order_id=options.order_id;
    amount=options.amount;
    quotation_id=options.quotation_id;
    api_token=options.api_token;
    this.submitInfo();
  },
  submitInfo(){
    wx.showLoading({
      title: '微信支付...',
      mask: true
    });
    wx.request({
      url: 'https://localhost/api/order/pay_request', 
      data: {
        type:1,
        pay_mode:3,
        order_id: order_id,
        amount:amount,
        quotation_id:quotation_id,
        api_token:api_token,
        openid:app.globalData.openid
      },
      success: function (res) {
        wx.hideLoading();
        if (res.data.ret == "200") {
          let mydata = res.data.data.data;
          wx.requestPayment(
            {
              'timeStamp': mydata.timeStamp,
              'nonceStr': mydata.nonceStr,
              'package': mydata.package,
              'signType': mydata.signType,
              'paySign': mydata.paySign,
              'success': function (e) { //支付成功
                wx.showToast({
                  title: '支付成功',
                  icon: 'success',
                  duration: 1200,
                  mask: true,
                  success: function ()
                  {
                    setTimeout(function () {
                      wx.navigateBack(); 
                    }, 1500);
                  }
                });

              },
              'fail': function (e) { //支付取消或出錯(cuò)
              //  wx.navigateBack();
              }
            })
        }
        else {
          wx.showToast({
            title: '該訂單已失效',
            icon: 'success',
            duration: 3000,
            mask: true,
            success: function () {
              setTimeout(function () {
                wx.navigateBack();
              }, 1500);
            }
          })
        }
      }
    });
  }
})

---pay.wxml代碼
<view class='body'>
<form bindsubmit="submitInfo" report-submit='true'>
<view class='body-view'><text >微信小程序支付</text></view>
<view class="btn-area">
<button type="primary" form-type="submit">確認(rèn)支付</button>
</view>
</form>
</view>
來看一下最后的效果:
小程序嵌套h5頁面調(diào)起支付,日常學(xué)習(xí),學(xué)習(xí),微信小程序,前端,小程序,小程序支付

到了這里,關(guān)于微信H5頁面實(shí)現(xiàn)微信小程序支付的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 前端實(shí)現(xiàn)微信支付(H5,微信小程序)

    前端實(shí)現(xiàn)微信支付(H5,微信小程序)

    通常一些電商項(xiàng)目使用到微信支付操作,所以簡單地介紹一下微信支付的具體流程。 微信支付是微信內(nèi)置微信瀏覽器(其他瀏覽器不支持)或者微信小程序的支付接口,主要負(fù)責(zé)用戶對(duì)商家執(zhí)行支付操作的流程。 例如常見的電商在下單環(huán)節(jié),就需要通過使用微信支付接口,

    2024年02月08日
    瀏覽(25)
  • 小程序webview組件,小程序和webview交互,小程序內(nèi)聯(lián)h5頁面,小程序webview內(nèi)網(wǎng)頁實(shí)現(xiàn)微信支付

    小程序webview組件,小程序和webview交互,小程序內(nèi)聯(lián)h5頁面,小程序webview內(nèi)網(wǎng)頁實(shí)現(xiàn)微信支付

    小程序支持webview以后,我們開發(fā)的好多h5頁面,就可以直接在小程序里使用了,比如我們開發(fā)的微信商城,文章詳情頁,商品詳情頁,就可以開發(fā)一套,多處使用了。我們今天來講一講。在小程序的webview里實(shí)現(xiàn)微信支付功能。因?yàn)槲⑿挪辉试S在小程序的webview里直接調(diào)起微信

    2024年02月09日
    瀏覽(102)
  • 微信小程序內(nèi)嵌h5頁面,實(shí)現(xiàn)動(dòng)態(tài)設(shè)置頂部標(biāo)題的功能

    一、需求描述 使用HBuilder X作為開發(fā)工具,vue作為開發(fā)語言,開發(fā)微信小程序。微信小程序頁面內(nèi)嵌h5頁面,即web-view/web-view標(biāo)簽。通過設(shè)置不同url連接地址,設(shè)置不同的標(biāo)題。 二、失敗做法 頁面A嵌入h5頁面,需要給A設(shè)置標(biāo)題。最開始寫法是在lonload頁面內(nèi),使用如下語句實(shí)現(xiàn)

    2024年02月04日
    瀏覽(150)
  • uniapp實(shí)現(xiàn)微信小程序內(nèi)嵌h5頁面的相互跳轉(zhuǎn)

    前期準(zhǔn)備3個(gè)頁面,小程序內(nèi)2個(gè),h5一個(gè)。 小程序內(nèi):操作頁pageA,展示容納h5的展示頁P(yáng)ageWebview.vue。 h5:h5頁面pageB,并且有可以訪問的線上url。 【微信小程序pageA-內(nèi)嵌h5頁面pageB】 1.1 pageA實(shí)現(xiàn)點(diǎn)擊跳轉(zhuǎn),將pageB的訪問地址url拼接,并進(jìn)入展示頁P(yáng)ageWebview.vue 1.2 PageWebview.vue頁面用

    2024年02月12日
    瀏覽(95)
  • 微信小程序嵌套的H5使用小程序分享(分享微信好友或朋友圈)

    微信小程序嵌套的H5使用小程序分享(分享微信好友或朋友圈)

    嵌套在微信小程序中的H5想要使用小程序自帶分享功能,分享H5的頁面給微信好友或朋友圈 H5中可使用wx.miniProgram.postMessage向小程序的webview發(fā)送消息,會(huì)觸發(fā)組件的message事件,在小程序webview頁面onShareAppMessage,onShareTimeline中進(jìn)行使用。

    2024年02月13日
    瀏覽(94)
  • 微信小程序?qū)W習(xí)實(shí)錄5(H5嵌入小程序、map組件、地圖調(diào)起功能、騰訊百度高德導(dǎo)航頁、返回web-view頁)

    微信小程序?qū)W習(xí)實(shí)錄5(H5嵌入小程序、map組件、地圖調(diào)起功能、騰訊百度高德導(dǎo)航頁、返回web-view頁)

    創(chuàng)建容器 地圖家長 在H5頁面引入 //res.wx.qq.com/open/js/jweixin-1.6.0.js ,建議使用高版本; 點(diǎn)擊返回按鈕 調(diào)用微信小程序和H5通用API 判斷是否在微信小程序環(huán)境中 地圖調(diào)起,再次返回小程序頁 獲取H5傳遞參數(shù)的方式為: console.log(options) latitude和longitude必須為數(shù)字類型,不支持字符

    2024年02月07日
    瀏覽(98)
  • 小程序內(nèi)嵌H5,調(diào)起微信分享

    該功能時(shí)作為H5調(diào)起小程序的微信分享 1:小程序方 在webview頁面,打開分享的權(quán)限 2:在小程序內(nèi)寫 onShareAppMessage方法,用來獲取在哪個(gè)頁面調(diào)起的微信分享, 3:在2中的這處代碼,是用來劫持分享,并自定義分享的, 4:轉(zhuǎn)發(fā)出去后,通過用戶的點(diǎn)擊再次回來時(shí),在webview頁

    2024年02月08日
    瀏覽(24)
  • uni-app | 小程序嵌入H5頁面實(shí)現(xiàn)支付功能

    uni-app | 小程序嵌入H5頁面實(shí)現(xiàn)支付功能

    前一陣在做公司小程序時(shí),有個(gè)需要對(duì)接支付的功能。但是本著訂單數(shù)據(jù)和支付統(tǒng)一入口的設(shè)計(jì)原則,計(jì)劃是對(duì)接公司商城現(xiàn)有的支付體系。故本方案是分析對(duì)接商城支付幾種可行方案以及每種方案的可行性,最后綜合選出一種最佳的方案。 實(shí)現(xiàn)方式 跳轉(zhuǎn)商城小程序支付 跳

    2024年02月07日
    瀏覽(28)
  • taro 支付寶/微信小程序/h5 上傳 - base64的那些事兒

    支付寶小程序臨時(shí)path轉(zhuǎn)base64 - 基礎(chǔ)庫2.0以下 支付寶小程序臨時(shí)path轉(zhuǎn)base64 - 基礎(chǔ)庫2.0及以上 微信小程序臨時(shí)path轉(zhuǎn)base64 h5臨時(shí)file轉(zhuǎn)base64 h5 base64轉(zhuǎn)file 獲取base64大小 h5 壓縮base64

    2024年02月10日
    瀏覽(15)
  • 微信小程序如何跳轉(zhuǎn)H5頁面

    微信小程序如何跳轉(zhuǎn)H5頁面

    1、登錄微信公眾后臺(tái),進(jìn)入【開發(fā)-開發(fā)管理-業(yè)務(wù)域名】,點(diǎn)擊修改。 2、首先請(qǐng)下載校驗(yàn)文件,并將文件放置在域名根目錄下。 我是把文件放在nginx主機(jī)的data目錄下,然后通過增加nginx.config配置,重啟nginx后可以通過域名直接訪問該校驗(yàn)文件; ?nginx.config配置如下: ?如何

    2024年02月11日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包