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

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

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

一、開通微信支付

 1.1 關聯(lián)商戶號

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

在這里插入圖片描述

1.2 添加商戶號

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

在這里插入圖片描述

1.3 管理員授權

1.2那張圖上,點擊授權。管理員的微信就會跳出提示,點擊確定授權即可。

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

二、云函數(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,實際上就是普通商戶id
    "totalFee" : parseInt(event.totalFee),   //第二個坑:注意必須是數(shù)字,如果不是數(shù)字,則會報錯unifiedOrder:fail wx api error: -202
    "envId": "ooo-xxxxxxxxxxxxxxxx",                //這里是回調(diào)函數(shù)所屬的的云環(huán)境id
    "functionName": "payCallBack",        //這個是回調(diào)函數(shù)名
    "nonceStr":event.nonceStr,            //第三個坑:官方文檔中相關云函數(shù)代碼沒有nonceStr和tradeType,測試的時候會報nonceStr不存在的錯,翻看文檔才發(fā)現(xiàn)這個是必填項,直接粘過來以后還需要加上這兩個參數(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)起微信支付界面

  //官方標準的支付方法,調(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)用我們自建服務器的接口,執(zhí)行支付成功的操作
  • 這邊涉及到如何在云函數(shù)中調(diào)用http接口,賣個關子,后續(xù)講

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

相關文章

  • Js如何使用ffmpeg進行視頻剪輯和畫面截取等功能

    Js如何使用ffmpeg進行視頻剪輯和畫面截取等功能

    在日常處理視頻文件時常常會用到視頻片段的截取功能,FFmpeg支持該功能,下面這篇文章主要給大家介紹了關于Js如何使用ffmpeg進行視頻剪輯和畫面截取等功能的相關資料,需要的朋友可以參考下
    2024-04-04
  • js跨域請求數(shù)據(jù)的3種常用的方法

    js跨域請求數(shù)據(jù)的3種常用的方法

    這篇文章主要介紹了js跨域請求數(shù)據(jù)的3種常用的方法,需要的朋友可以參考下
    2015-12-12
  • 按鈕JS復制文本框和表格的代碼

    按鈕JS復制文本框和表格的代碼

    有時候我們需要復制一個框的內(nèi)容或者整個表格,一般的操作很可能造成一些不方便,一是操作步驟較為復制,一是復制表格的時候容易復制不完整或者格式出錯。
    2011-04-04
  • JavaScript實現(xiàn)英語單詞題庫

    JavaScript實現(xiàn)英語單詞題庫

    這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)英語單詞題庫,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • JS使用setInterval計時器實現(xiàn)挑戰(zhàn)10秒

    JS使用setInterval計時器實現(xiàn)挑戰(zhàn)10秒

    這篇文章主要為大家詳細介紹了JS使用setInterval計時器實現(xiàn)挑戰(zhàn)10秒,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 微信小程序自定義支持圖片的彈窗

    微信小程序自定義支持圖片的彈窗

    這篇文章主要為大家詳細介紹了微信小程序自定義支持圖片的彈窗,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • 一個JS函數(shù)搞定網(wǎng)頁標題(title)閃動效果

    一個JS函數(shù)搞定網(wǎng)頁標題(title)閃動效果

    這篇文章主要介紹了使用JS函數(shù)實現(xiàn)網(wǎng)頁標題(title)閃動效果的代碼,需要的朋友可以參考下
    2014-05-05
  • 捕獲鍵盤事件(且兼容各瀏覽器)

    捕獲鍵盤事件(且兼容各瀏覽器)

    本篇文章是對捕獲鍵盤事件(且兼容各瀏覽器)的實現(xiàn)進行了詳細的分析介紹,需要的朋友參考下
    2013-07-07
  • 原生JS實現(xiàn)文件上傳

    原生JS實現(xiàn)文件上傳

    這篇文章主要為大家詳細介紹了原生JS實現(xiàn)文件上傳,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 微信小程序調(diào)用騰訊地圖API文檔JavaScript?SDK和WebService?API詳細解讀

    微信小程序調(diào)用騰訊地圖API文檔JavaScript?SDK和WebService?API詳細解讀

    本文介紹了如何使用騰訊位置服務,包括申請開發(fā)者密鑰、獲取小程序APPID、下載地圖SDK、設置服務器域名白名單等步驟,詳細說明了如何在微信小程序中集成騰訊位置服務,進行地圖展示和周邊搜索等功能的實現(xiàn),同時提醒注意API的調(diào)用次數(shù)和權限限制,需要的朋友可以參考下
    2024-09-09

最新評論

玛多县| 福安市| 大邑县| 公安县| 上林县| 曲靖市| 曲靖市| 镇原县| 松潘县| 武夷山市| 丹凤县| 卓资县| 玉环县| 石河子市| 扎囊县| 偏关县| 六盘水市| 华蓥市| 铁岭县| 元氏县| 青田县| 宁乡县| 射洪县| 霍林郭勒市| 石阡县| 保山市| 屏东市| 格尔木市| 余姚市| 恩平市| 阿拉尔市| 合水县| 应城市| 赣州市| 晋江市| 鄄城县| 象州县| 奉新县| 青铜峡市| 清水河县| 兴和县|