成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

10行代碼實(shí)現(xiàn)小程序支付功能!丨實(shí)戰(zhàn)

SimpleTriangle / 3319人閱讀

摘要:前面給大家講過(guò)一個(gè)借助小程序云開發(fā)實(shí)現(xiàn)微信支付的,但是那個(gè)操作稍微有點(diǎn)繁瑣,并且還會(huì)經(jīng)常出現(xiàn)問(wèn)題,今天就給大家講一個(gè)簡(jiǎn)單的,并且借助官方支付實(shí)現(xiàn)小程序支付功能。只需要一個(gè)簡(jiǎn)單的云函數(shù),就可以輕松的實(shí)現(xiàn)微信小程序支付功能。

前面給大家講過(guò)一個(gè)借助小程序云開發(fā)實(shí)現(xiàn)微信支付的,但是那個(gè)操作稍微有點(diǎn)繁瑣,并且還會(huì)經(jīng)常出現(xiàn)問(wèn)題,今天就給大家講一個(gè)簡(jiǎn)單的,并且借助官方支付api實(shí)現(xiàn)小程序支付功能。

傳送門:
借助小程序云開發(fā)實(shí)現(xiàn)小程序支付功能

老規(guī)矩,先看本節(jié)效果圖

我們實(shí)現(xiàn)這個(gè)支付功能完全是借助小程序云開發(fā)實(shí)現(xiàn)的,不用搭建自己的服務(wù)器,不用買域名,不用備案域名,不用支持https。只需要一個(gè)簡(jiǎn)單的云函數(shù),就可以輕松的實(shí)現(xiàn)微信小程序支付功能。
核心代碼就下面這些:

一、創(chuàng)建一個(gè)云開發(fā)小程序

關(guān)于如何創(chuàng)建云開發(fā)小程序,這里我就不再做具體講解。不知道怎么創(chuàng)建云開發(fā)小程序的同學(xué),可以去翻看騰訊云云開發(fā)公眾號(hào)內(nèi)菜單【技術(shù)交流-視頻教程】中的教學(xué)視頻。

創(chuàng)建云開發(fā)小程序有幾點(diǎn)注意的

1.一定不要忘記在app.js里初始化云開發(fā)環(huán)境。

2.創(chuàng)建完云函數(shù)后,一定要記得上傳

二、創(chuàng)建支付的云函數(shù)

1.創(chuàng)建云函數(shù)pay

三、引入三方依賴tenpay

我們這里引入三方依賴的目的,是創(chuàng)建我們支付時(shí)需要的一些參數(shù)。我們安裝依賴是使用里npm 而npm必須安裝node,關(guān)于如何安裝node,我這里不做講解,百度一下,網(wǎng)上一大堆。

1.首先右鍵pay,然后選擇在終端中打開

2.我們使用npm來(lái)安裝這個(gè)依賴。

在命令行里執(zhí)行 npm i tenpay

安裝完成后,我們的pay云函數(shù)會(huì)多出一個(gè)package.json 文件

到這里我們的tenpay依賴就安裝好了。

四、編寫云函數(shù)pay

完整代碼如下

//云開發(fā)實(shí)現(xiàn)支付
const cloud = require("wx-server-sdk")
cloud.init()

//1,引入支付的三方依賴
const tenpay = require("tenpay");
//2,配置支付信息
const config = {
  appid: "你的小程序appid", 
  mchid: "你的微信商戶號(hào)",
  partnerKey: "微信支付安全密鑰", 
  notify_url: "支付回調(diào)網(wǎng)址,這里可以先隨意填一個(gè)網(wǎng)址", 
  spbill_create_ip: "127.0.0.1" //這里填這個(gè)就可以
};

exports.main = async(event, context) => {
  const wxContext = cloud.getWXContext()
  let {
    orderid,
    money
  } = event;
  //3,初始化支付
  const api = tenpay.init(config);

  let result = await api.getPayParams({
    out_trade_no: orderid,
    body: "商品簡(jiǎn)單描述",
    total_fee: money, //訂單金額(分),
    openid: wxContext.OPENID //付款用戶的openid
  });
  return result;
}
一定要注意把a(bǔ)ppid,mchid,partnerKey換成你自己的。

到這里我們獲取小程序支付所需參數(shù)的云函數(shù)代碼就編寫完成了。

不要忘記上傳這個(gè)云函數(shù)。

出現(xiàn)下圖就代表上傳成功

五、寫一個(gè)簡(jiǎn)單的頁(yè)面,用來(lái)提交訂單,調(diào)用pay云函數(shù)。

這個(gè)頁(yè)面很簡(jiǎn)單:

1.自己隨便編寫一個(gè)訂單號(hào)(這個(gè)訂單號(hào)要大于6位)

2.自己隨便填寫一個(gè)訂單價(jià)(單位是分)

3.點(diǎn)擊按鈕,調(diào)用pay云函數(shù)。獲取支付所需參數(shù)。

下圖是官方支付api所需要的一些必須參數(shù)。

下圖是我們調(diào)用pay云函數(shù)獲取的參數(shù),和上圖所需要的是不是一樣。

六、調(diào)用wx.requestPayment實(shí)現(xiàn)支付

下圖是官方的示例代碼:

這里不在做具體講解了,把完整代碼給大家貼出來(lái)

// pages/pay/pay.js
Page({
  //提交訂單
  formSubmit: function(e) {
    let that = this;
    let formData = e.detail.value
    console.log("form發(fā)生了submit事件,攜帶數(shù)據(jù)為:", formData)
    wx.cloud.callFunction({
      name: "pay",
      data: {
        orderid: "" + formData.orderid,
        money: formData.money
      },
      success(res) {
        console.log("提交成功", res.result)
        that.pay(res.result)
      },
      fail(res) {
        console.log("提交失敗", res)
      }
    })
  },

  //實(shí)現(xiàn)小程序支付
  pay(payData) {
    //官方標(biāo)準(zhǔn)的支付方法
    wx.requestPayment({
      timeStamp: payData.timeStamp,
      nonceStr: payData.nonceStr,
      package: payData.package, //統(tǒng)一下單接口返回的 prepay_id 格式如:prepay_id=***
      signType: "MD5",
      paySign: payData.paySign, //簽名
      success(res) {
        console.log("支付成功", res)
      },
      fail(res) {
        console.log("支付失敗", res)
      },
      complete(res) {
        console.log("支付完成", res)
      }
    })
  }
})

到這里,云開發(fā)實(shí)現(xiàn)小程序支付的功能就完整實(shí)現(xiàn)了。

實(shí)現(xiàn)效果 1.調(diào)起支付鍵盤

2.支付完成

3.log日志,可以看出不同支付狀態(tài)的回調(diào)

上圖是支付成功的回調(diào),我們可以在支付成功回調(diào)時(shí),改變訂單支付狀態(tài)。

下圖是支付失敗的回調(diào):

下圖是支付完成的狀態(tài):

到這里我們就輕松的實(shí)現(xiàn)了微信小程序的支付功能了,是不是很簡(jiǎn)單啊。

源碼地址:

https://github.com/TencentClo...

如果你有關(guān)于使用云開發(fā)CloudBase相關(guān)的技術(shù)故事/技術(shù)實(shí)戰(zhàn)經(jīng)驗(yàn)想要跟大家分享,歡迎留言聯(lián)系我們哦~比心!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/106799.html

相關(guān)文章

  • 巧用程序·云開發(fā)實(shí)現(xiàn)郵件發(fā)送功能實(shí)戰(zhàn)

    摘要:七調(diào)用云函數(shù)發(fā)送郵件我們?cè)谖募飳懸粋€(gè)按鈕,當(dāng)點(diǎn)擊這個(gè)按鈕時(shí)就發(fā)送郵件。到這里我們就完整的實(shí)現(xiàn)了微信小程序云開發(fā)使用云函數(shù)發(fā)送郵件的功能了。 先看效果圖: showImg(https://segmentfault.com/img/remote/1460000020151412); 通過(guò)上面的日志,可以看出我們是158開頭的郵箱給250開頭的郵箱發(fā)送郵件,下面是成功接收到的郵件。 sho...

    sixgo 評(píng)論0 收藏0
  • 程序·云開發(fā)打造功能全面的博客程序實(shí)戰(zhàn)

    摘要:用小程序云開發(fā)將博客小程序常用功能一網(wǎng)打盡本文介紹博客小程序的詳情頁(yè)的功能按鈕如何實(shí)現(xiàn),具體包括評(píng)論點(diǎn)贊收藏和海報(bào)功能,這里記錄下整個(gè)實(shí)現(xiàn)過(guò)程和實(shí)際編碼中的一些坑。考慮到小程序本身的大小限制,使用的方式是最佳的。 用小程序·云開發(fā)將博客小程序常用功能一網(wǎng)打盡 本文介紹mini博客小程序的詳情頁(yè)的功能按鈕如何實(shí)現(xiàn),具體包括評(píng)論、點(diǎn)贊、收藏和海報(bào)功能,這里記錄下整個(gè)實(shí)現(xiàn)過(guò)程和實(shí)際編碼中的一...

    cc17 評(píng)論0 收藏0
  • 程序·云開發(fā)打造功能全面的博客程序實(shí)戰(zhàn)

    摘要:用小程序云開發(fā)將博客小程序常用功能一網(wǎng)打盡本文介紹博客小程序的詳情頁(yè)的功能按鈕如何實(shí)現(xiàn),具體包括評(píng)論點(diǎn)贊收藏和海報(bào)功能,這里記錄下整個(gè)實(shí)現(xiàn)過(guò)程和實(shí)際編碼中的一些坑??紤]到小程序本身的大小限制,使用的方式是最佳的。 用小程序·云開發(fā)將博客小程序常用功能一網(wǎng)打盡 本文介紹mini博客小程序的詳情頁(yè)的功能按鈕如何實(shí)現(xiàn),具體包括評(píng)論、點(diǎn)贊、收藏和海報(bào)功能,這里記錄下整個(gè)實(shí)現(xiàn)過(guò)程和實(shí)際編碼中的一...

    flybywind 評(píng)論0 收藏0
  • 你的心事我全知曉——心情日記程序實(shí)戰(zhàn)

    摘要:閑暇之余,聽媳婦嘀咕說(shuō)要給她做一個(gè)能表達(dá)她每日心情的小程序,只能她在上面發(fā)東西。既然媳婦發(fā)話了,就花點(diǎn)心思做一個(gè)吧,因?yàn)闆]有圖,所有布局全靠自己瞎編,下面結(jié)合圖片和代碼跟大家講解下實(shí)現(xiàn)過(guò)程,內(nèi)容略長(zhǎng),感興趣的可以一覽。 閑暇之余,聽媳婦嘀咕說(shuō)要給她做一個(gè)能表達(dá)她每日心情的小程序,只能她在上面發(fā)東西。既然媳婦發(fā)話了,就花點(diǎn)心思做一個(gè)吧,因?yàn)闆]有UI圖,所有布局全靠自己瞎編,下面結(jié)合圖片和...

    lylwyy2016 評(píng)論0 收藏0
  • 程序·云開發(fā)兩天搭建mini論壇實(shí)戰(zhàn)

    摘要:筆者最近涉獵了小程序相關(guān)的知識(shí),于是利用周末時(shí)間開發(fā)了一款類似于同事的小程序,深度體驗(yàn)了小程序云開發(fā)模式提供的云函數(shù)數(shù)據(jù)庫(kù)存儲(chǔ)三大能力。 筆者最近涉獵了小程序相關(guān)的知識(shí),于是利用周末時(shí)間開發(fā)了一款類似于同事的小程序,深度體驗(yàn)了小程序云開發(fā)模式提供的云函數(shù)、數(shù)據(jù)庫(kù)、存儲(chǔ)三大能力。關(guān)于云開發(fā),可參考文檔:小程序·云開發(fā)。 個(gè)人感覺云開發(fā)帶來(lái)的最大好處是鑒權(quán)流程的簡(jiǎn)化和對(duì)后端的弱化,所以像筆...

    沈建明 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

SimpleTriangle

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<