最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue項目前端微信JSAPI與外部H5支付相關(guān)實現(xiàn)過程及常見問題

 更新時間:2020年04月14日 08:34:11   作者:YoLinDeng  
這篇文章主要介紹了vue項目前端微信JSAPI與外部H5支付相關(guān)實現(xiàn)過程及常見問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

web端的微信支付可分為JSAPI與H5

JSAPI使用場景為微信內(nèi)部,而H5支付則是使用在非微信下的外部瀏覽器。

1.JSAPI

在微信內(nèi)部可以直接喚起微信瀏覽器的內(nèi)置對象 WeixinJSBridge
廢話不多說直接上代碼:

// 調(diào)用后端接口拿到JSAPI支付所需參數(shù),我在beforeRouteEnter的時候調(diào)用。
api.apply.jsApiPay(obj).then(res => {
     if (res.data.code === '0000') {
      vm.params = res.data.bean
     } else {
      alert('微信支付調(diào)起失??!')
     }
    }).catch(err => {
     alert(err)
    })

// 點擊支付時候調(diào)用
if (typeof WeixinJSBridge === 'undefined') {
    if (document.addEventListener) {
     document.addEventListener('WeixinJSBridgeReady', this.onBridgeReady(this.params), false)
    } else if (document.attachEvent) {
     document.attachEvent('WeixinJSBridgeReady', this.onBridgeReady(this.params))
     document.attachEvent('onWeixinJSBridgeReady', this.onBridgeReady(this.params))
    }
   } else {
    this.onBridgeReady(this.params)
   }


onBridgeReady (params) {
   const that = this
   WeixinJSBridge.invoke(
    'getBrandWCPayRequest',
    {
     appId: params.appId, // 公眾號名稱,由商戶傳入
     timeStamp: params.timeStamp, // 支付簽名時間戳,注意微信jssdk中的所有使用timestamp字段均為小寫。但最新版的支付后臺生成簽名使用的timeStamp字段名需大寫其中的S字符
     nonceStr: params.nonceStr, // 支付簽名隨機串,不長于 32 位
     package: params.prepay_id, // 統(tǒng)一支付接口返回的prepay_id參數(shù)值,提交格式如:prepay_id=\*\*\*)
     signType: params.signType, // 簽名方式,默認(rèn)為'SHA1',使用新版支付需傳入'MD5'
     paySign: params.paySign // 支付簽名
    },
    function (res) {
     if (res.err_msg === 'get_brand_wcpay_request:ok') {
      that.queryOrder() // 這里是查詢訂單是否支付完成,然后執(zhí)行成功和失敗的業(yè)務(wù)邏輯
     } else if (res.err_msg === 'get_brand_wcpay_request:fail') {
      alert('支付失敗!')
     }
    }
   )
  },

在微信支付的回調(diào)函數(shù)中,當(dāng)res.err_msg 為

get_brand_wcpay_request:ok 時,支付狀態(tài)不一定準(zhǔn)確,因此需要調(diào)用后端的查詢訂單接口,查詢是否支付完成,然后再執(zhí)行相應(yīng)的邏輯。

2、H5支付

h5相對簡單,前端只需要跳轉(zhuǎn)到后端返回的鏈接即可

api.apply.h5Pay({
      title: ''
      orderNum: '',
      expireMinute: 10,
      redirectUrl: `${window.location.origin}/pay/card?orderId=${vm.orderId}`
     }).then(res => {
      vm.h5PayUrl = res.data.bean
      // 查詢訂單
     }).catch(err => {
      alert(err)
     })

第一步,請求后端接口,需要傳支付的標(biāo)題,訂單號,支付時間,重定向鏈接。

第二部,們只需要點擊支付按鈕時候跳轉(zhuǎn)至后端返回鏈接即可。

window.location.href = this.h5PayUrl

需要注意的是H5支付查詢訂單需要用戶去手動觸發(fā),因此需要增加一個確定訂單的彈層。如圖:

查詢訂單是否支付成功與JSAPI一致~

到此這篇關(guān)于vue項目前端微信JSAPI與外部H5支付相關(guān)實現(xiàn)過程及常見問題的文章就介紹到這了,更多相關(guān)vue項目前端微信JSAPI與外部H5支付相關(guān)實現(xiàn)過程及常見問題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue3.0使用ref和reactive來創(chuàng)建響應(yīng)式數(shù)據(jù)

    Vue3.0使用ref和reactive來創(chuàng)建響應(yīng)式數(shù)據(jù)

    ref?和?reactive?是?Composition?API?中用來創(chuàng)建響應(yīng)式數(shù)據(jù)的兩個核心函數(shù),在本篇文章中,我們將詳細(xì)講解如何使用?ref?和?reactive?來創(chuàng)建響應(yīng)式數(shù)據(jù),并展示它們之間的區(qū)別和使用場景,需要的朋友可以參考下
    2024-11-11
  • VUE中的自定義指令鉤子函數(shù)講解

    VUE中的自定義指令鉤子函數(shù)講解

    這篇文章主要介紹了VUE中的自定義指令鉤子函數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Vue實現(xiàn)各種類型文件的預(yù)覽功能

    Vue實現(xiàn)各種類型文件的預(yù)覽功能

    這篇文章主要介紹了如何在Vue3中使用aceEditor插件和vue-ipynb插件實現(xiàn)不同類型的文件預(yù)覽,包括txt、md、json、pkl、mps、py、ipynb、doc、docx、pdf、xlsx、csv等文件,需要的朋友可以參考下
    2025-03-03
  • 淺談vite和webpack的性能優(yōu)化和區(qū)別

    淺談vite和webpack的性能優(yōu)化和區(qū)別

    本文主要介紹了淺談vite和webpack的區(qū)別,從性能優(yōu)化的幾個方便講解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • vue中本地靜態(tài)圖片路徑寫法

    vue中本地靜態(tài)圖片路徑寫法

    這篇文章給大家介紹了vue中本地靜態(tài)圖片路徑寫法及Vue.js中引用圖片路徑的方式,需要的朋友參考下吧
    2018-03-03
  • 基于vue3實現(xiàn)一個抽獎小項目

    基于vue3實現(xiàn)一個抽獎小項目

    在公司年會期間我做了個抽獎小項目,非常棒,今天把他分享到腳本之家平臺,供大家學(xué)習(xí)參考,對vue3實現(xiàn)抽獎小項目感興趣的朋友一起看看吧
    2023-01-01
  • Vue 列表渲染 key的原理和作用詳解

    Vue 列表渲染 key的原理和作用詳解

    這篇文章主要介紹了key在Vue列表渲染時的原理和作用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-10-10
  • vue3使用vuex實現(xiàn)頁面實時更新數(shù)據(jù)實例教程(setup)

    vue3使用vuex實現(xiàn)頁面實時更新數(shù)據(jù)實例教程(setup)

    在前端開發(fā)中往往會遇到頁面需要實時刷新數(shù)據(jù)的情況,給用戶最新的數(shù)據(jù)展示,這篇文章主要給大家介紹了關(guān)于vue3使用vuex實現(xiàn)頁面實時更新數(shù)據(jù)(setup)的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • 解決VUE項目在IIS部署出現(xiàn):Uncaught SyntaxError: Unexpected token < 報錯

    解決VUE項目在IIS部署出現(xiàn):Uncaught SyntaxError: Unexpected&n

    這篇文章介紹了解決VUE項目在IIS部署出現(xiàn):Uncaught SyntaxError: Unexpected token < 報錯的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • vue實現(xiàn)驗證碼輸入框組件

    vue實現(xiàn)驗證碼輸入框組件

    最近做項目遇到這樣的需求要求輸入4位或6位短信驗證碼,輸入完成后收起鍵盤。實現(xiàn)步驟大家參考下本文
    2017-12-12

最新評論

时尚| 灌南县| 潍坊市| 蚌埠市| 临海市| 苏尼特右旗| 乌拉特中旗| 新平| 来宾市| 沙雅县| 武汉市| 邯郸市| 观塘区| 宁远县| 辽阳市| 邻水| 定兴县| 永宁县| 宜丰县| 顺平县| 漳平市| 长宁县| 和平区| 海伦市| 阳谷县| 凤凰县| 昌图县| 松溪县| 鄄城县| 漯河市| 绥宁县| 吐鲁番市| 绥芬河市| 大冶市| 宜昌市| 淮滨县| 漳浦县| 泗洪县| 乌拉特中旗| 双鸭山市| 平顺县|