欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

1.JSAPI

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

// 調(diào)用后端接口拿到JSAPI支付所需參數(shù),我在beforeRouteEnter的時(shí)候調(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ǎn)擊支付時(shí)候調(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, // 公眾號(hào)名稱,由商戶傳入
     timeStamp: params.timeStamp, // 支付簽名時(shí)間戳,注意微信jssdk中的所有使用timestamp字段均為小寫(xiě)。但最新版的支付后臺(tái)生成簽名使用的timeStamp字段名需大寫(xiě)其中的S字符
     nonceStr: params.nonceStr, // 支付簽名隨機(jī)串,不長(zhǎng)于 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 時(shí),支付狀態(tài)不一定準(zhǔn)確,因此需要調(diào)用后端的查詢訂單接口,查詢是否支付完成,然后再執(zhí)行相應(yīng)的邏輯。

2、H5支付

h5相對(duì)簡(jiǎn)單,前端只需要跳轉(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)
     })

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

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

window.location.href = this.h5PayUrl

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

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

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

相關(guān)文章

  • Vue3中使用setup通過(guò)ref獲取子組件的屬性

    Vue3中使用setup通過(guò)ref獲取子組件的屬性

    這篇文章主要介紹了Vue3中使用setup通過(guò)ref獲取子組件的屬性,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 使用imba.io框架得到比 vue 快50倍的性能基準(zhǔn)

    使用imba.io框架得到比 vue 快50倍的性能基準(zhǔn)

    imba 是一種新的編程語(yǔ)言,可以編譯為高性能的 JavaScript。可以直接用于 Web 編程(服務(wù)端與客戶端)開(kāi)發(fā)。這篇文章主要介紹了使用imba.io框架,得到比 vue 快50倍的性能基準(zhǔn),需要的朋友可以參考下
    2019-06-06
  • vue配置根目錄詳細(xì)步驟(用@代表src目錄)

    vue配置根目錄詳細(xì)步驟(用@代表src目錄)

    vue用@表示src文件夾,引入時(shí)找文件路徑更方便,下面這篇文章主要給大家介紹了關(guān)于vue配置根目錄(用@代表src目錄)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • 使用Vue純前端實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼并實(shí)現(xiàn)倒計(jì)時(shí)

    使用Vue純前端實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼并實(shí)現(xiàn)倒計(jì)時(shí)

    在實(shí)際的應(yīng)用開(kāi)發(fā)中,涉及用戶登錄驗(yàn)證、密碼重置等場(chǎng)景時(shí),通常需要前端實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼的功能,以提升用戶體驗(yàn)和安全性,以下是一個(gè)簡(jiǎn)單的前端實(shí)現(xiàn),演示了如何在用戶點(diǎn)擊發(fā)送驗(yàn)證碼按鈕時(shí)觸發(fā)短信驗(yàn)證碼的發(fā)送,并開(kāi)始一個(gè)倒計(jì)時(shí)
    2024-04-04
  • vue 獲取視頻時(shí)長(zhǎng)的實(shí)例代碼

    vue 獲取視頻時(shí)長(zhǎng)的實(shí)例代碼

    這篇文章主要介紹了vue 獲取視頻時(shí)長(zhǎng)的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 在vue中高德地圖引入和軌跡的繪制的實(shí)現(xiàn)

    在vue中高德地圖引入和軌跡的繪制的實(shí)現(xiàn)

    這篇文章主要介紹了在vue中高德地圖引入和軌跡的繪制的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Vue 項(xiàng)目分環(huán)境打包的方法示例

    Vue 項(xiàng)目分環(huán)境打包的方法示例

    這篇文章主要介紹了Vue 項(xiàng)目分環(huán)境打包的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • Vue生命周期示例詳解

    Vue生命周期示例詳解

    這篇文章主要為大家詳細(xì)介紹了Vue生命周期的示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • vue項(xiàng)目代碼格式規(guī)范設(shè)置參考指南

    vue項(xiàng)目代碼格式規(guī)范設(shè)置參考指南

    這篇文章主要給大家介紹了關(guān)于vue3簡(jiǎn)單封裝input組件和統(tǒng)一表單數(shù)據(jù)的相關(guān)資料,不管你學(xué)習(xí)哪一門(mén)編程語(yǔ)言,相信大家都會(huì)略化這一部分,需要的朋友可以參考下
    2022-05-05
  • vue實(shí)現(xiàn)記事本案例

    vue實(shí)現(xiàn)記事本案例

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)記事本案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04

最新評(píng)論