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

小程序通過小程序云實(shí)現(xiàn)微信支付功能實(shí)例

 更新時間:2021年07月22日 16:25:35   作者:小康師兄  
本文主要介紹了小程序通過小程序云實(shí)現(xiàn)微信支付功能實(shí)例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

一、開通微信支付

 1.1 關(guān)聯(lián)商戶號

\微信公眾號平臺\功能\微信支付\商戶號管理\關(guān)聯(lián)商戶號

在這里插入圖片描述

1.2 添加商戶號

\云開發(fā)平臺\設(shè)置\其他設(shè)置\微信支付配置\添加商戶號

在這里插入圖片描述

1.3 管理員授權(quán)

1.2那張圖上,點(diǎn)擊授權(quán)。管理員的微信就會跳出提示,點(diǎn)擊確定授權(quán)即可。

否則使用的時候,會出現(xiàn)sub_mch_id與sub_appid不匹配的報(bào)錯!

二、云函數(shù)開發(fā)

2.1 新建云函數(shù)

在這里插入圖片描述

在這里插入圖片描述

2.2 云函數(shù)代碼

\pay\index.js

const cloud = require('wx-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})

exports.main = async (event, context) => {    
const res = await cloud.cloudPay.unifiedOrder({
    "body" : event.body,
    "outTradeNo" : event.outTradeNo,
    "spbillCreateIp" : "127.0.0.1",
    "subMchId" : "0000000000",               //這里要注意:雖然key是子商戶id,實(shí)際上就是普通商戶id
    "totalFee" : parseInt(event.totalFee),   //第二個坑:注意必須是數(shù)字,如果不是數(shù)字,則會報(bào)錯unifiedOrder:fail wx api error: -202
    "envId": "ooo-xxxxxxxxxxxxxxxx",                //這里是回調(diào)函數(shù)所屬的的云環(huán)境id
    "functionName": "payCallBack",        //這個是回調(diào)函數(shù)名
    "nonceStr":event.nonceStr,            //第三個坑:官方文檔中相關(guān)云函數(shù)代碼沒有nonceStr和tradeType,測試的時候會報(bào)nonceStr不存在的錯,翻看文檔才發(fā)現(xiàn)這個是必填項(xiàng),直接粘過來以后還需要加上這兩個參數(shù)
    "tradeType":"JSAPI"
  })
  return res
}

2.3 云函數(shù)上傳并部署

在這里插入圖片描述

在這里插入圖片描述

三、小程序調(diào)用

3.1 統(tǒng)一下單

  • 微信下單后獲得的數(shù)據(jù),最好先保存到數(shù)據(jù)庫,留底
  • 再去調(diào)起微信支付界面
//調(diào)用云函數(shù),微信統(tǒng)一下單
  cloudPay(){
    var _this = this
    this.setData({
      body: "賬單支付-xxxxx",
      outTradeNo: this.data.id+"-"+util.uuid(16),
      totalFee: this.data.totalCost*100 //支付單位:分
    })
    app.showLoading(true)
    wx.cloud.callFunction({
      name: "pay",
      data: {
        body: _this.data.body,
        outTradeNo: _this.data.outTradeNo,
        totalFee: _this.data.totalFee,
        nonceStr:util.uuid(32)//調(diào)用自己的uuid函數(shù)
      },
      success(res) {
        // errCode: 0
        // errMsg: "cloudPay.unifiedOrder:ok"
        // returnCode: "FAIL"
        // returnMsg: "total_fee is empty. "
        console.log("提交成功", res.result)
        if(res.result.returnCode!="SUCCESS"){
          app.showToast(res.result.returnMsg)
          return
        }
        _this.unifiedOrder(res.result)
        // _this.requestPayment(res.result)
      },
      fail(res) {
        console.log("提交失敗", res)
      }
    })
  },

3.2 調(diào)起微信支付界面

  //官方標(biāo)準(zhǔn)的支付方法,調(diào)起支付界面
  requestPayment(payData) {
    var _this = this;
    const payment = payData.payment//這里注意,上一個函數(shù)的result中直接整合了這里要用的參數(shù),直接展開即可使用
    wx.requestPayment({
      ...payment,   //...是展開變量的語法 
      success(res) {
        console.log("支付成功", res)
        _this.paySuccess()
      },
      fail(res) {
        console.log("支付失敗", res)
      }
    })
  },

3.2 支付成功回調(diào)

  • 不太建議直接在requestPayment的success回調(diào)函數(shù)中,執(zhí)行支付成功的操作
  • 最好在另外建一個云函數(shù)payCallBack
  • 這個云函數(shù)payCallBack,調(diào)用我們自建服務(wù)器的接口,執(zhí)行支付成功的操作
  • 這邊涉及到如何在云函數(shù)中調(diào)用http接口,賣個關(guān)子,后續(xù)講

到此這篇關(guān)于小程序通過小程序云實(shí)現(xiàn)微信支付功能實(shí)例的文章就介紹到這了,更多相關(guān)小程序 微信支付內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JS關(guān)于刷新頁面的相關(guān)總結(jié)

    JS關(guān)于刷新頁面的相關(guān)總結(jié)

    在本篇內(nèi)容中我們給大家整理了關(guān)于JS刷新頁面的所有相關(guān)知識點(diǎn)以及整理了相關(guān)的技術(shù)文章,大家可以收藏本頁面繼續(xù)深入學(xué)習(xí)。
    2018-05-05
  • 微信小程序分頁加載的實(shí)例代碼

    微信小程序分頁加載的實(shí)例代碼

    本篇文章主要介紹了微信小程序分頁加載的實(shí)例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • window.returnValue使用方法示例介紹

    window.returnValue使用方法示例介紹

    returnValue是javascript中html的window對象的屬性,目的是返回窗口值,下面有個示例,大家可以感受下
    2014-07-07
  • js針對圖片加載失敗的處理方法分析

    js針對圖片加載失敗的處理方法分析

    這篇文章主要介紹了js針對圖片加載失敗的處理方法,結(jié)合實(shí)例形式分析了js針對圖片加載失敗時的事件監(jiān)聽、響應(yīng)等相關(guān)操作技巧,需要的朋友可以參考下
    2019-08-08
  • 詳解如何消除axios攔截中的if

    詳解如何消除axios攔截中的if

    在使用vue的開發(fā)中,我們會使用axios來做前后端通信,那這時候我們就需要對請求前后做攔截,下面這篇文章主要給大家介紹了關(guān)于如何消除axios攔截中if的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • 關(guān)于js遍歷表格的實(shí)例

    關(guān)于js遍歷表格的實(shí)例

    js可以利用dom非常輕松的就可以遍歷一個表格。當(dāng)然只要是dom中有的所有對象都可以通過js來訪問和處理
    2013-07-07
  • layui實(shí)現(xiàn)form表單同時提交數(shù)據(jù)和文件的代碼

    layui實(shí)現(xiàn)form表單同時提交數(shù)據(jù)和文件的代碼

    今天小編就為大家分享一篇layui實(shí)現(xiàn)form表單同時提交數(shù)據(jù)和文件的代碼,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • 微信小程序記住密碼的功能簡單幾步實(shí)現(xiàn)

    微信小程序記住密碼的功能簡單幾步實(shí)現(xiàn)

    軟件中的“記住密碼”選框不知道大家平時會不會勾選,反正對于一個重度懶癌患者的我來說就沒有不勾選的時候,畢竟隔一段時間就重新輸入一遍難記又難輸?shù)馁~號密碼,想想就讓人頭皮發(fā)麻。今天教大家用代碼在微信小程序中實(shí)現(xiàn)這個簡單的小功能
    2023-01-01
  • javascript作用域鏈與執(zhí)行環(huán)境詳解

    javascript作用域鏈與執(zhí)行環(huán)境詳解

    這篇文章主要為大家詳細(xì)介紹了javascript作用域鏈與執(zhí)行環(huán)境,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • Javascript中將變量轉(zhuǎn)換為字符串的三種方法

    Javascript中將變量轉(zhuǎn)換為字符串的三種方法

    這篇文章主要給大家介紹了關(guān)于Javascript中將變量轉(zhuǎn)換為字符串的三種方法,這三種方法分別是:value.toString()、"" + value和String(value),文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09

最新評論