摘要:前面給大家講過一個借助小程序云開發(fā)實現(xiàn)微信支付的,但是那個操作稍微有點繁瑣,并且還會經(jīng)常出現(xiàn)問題,今天就給大家講一個簡單的,并且借助官方支付實現(xiàn)小程序支付功能。只需要一個簡單的云函數(shù),就可以輕松的實現(xiàn)微信小程序支付功能。
前面給大家講過一個借助小程序云開發(fā)實現(xiàn)微信支付的,但是那個操作稍微有點繁瑣,并且還會經(jīng)常出現(xiàn)問題,今天就給大家講一個簡單的,并且借助官方支付api實現(xiàn)小程序支付功能。
傳送門:
借助小程序云開發(fā)實現(xiàn)小程序支付功能
老規(guī)矩,先看本節(jié)效果圖
我們實現(xiàn)這個支付功能完全是借助小程序云開發(fā)實現(xiàn)的,不用搭建自己的服務(wù)器,不用買域名,不用備案域名,不用支持https。只需要一個簡單的云函數(shù),就可以輕松的實現(xiàn)微信小程序支付功能。
核心代碼就下面這些:
關(guān)于如何創(chuàng)建云開發(fā)小程序,這里我就不再做具體講解。不知道怎么創(chuàng)建云開發(fā)小程序的同學,可以去翻看騰訊云云開發(fā)公眾號內(nèi)菜單【技術(shù)交流-視頻教程】中的教學視頻。
創(chuàng)建云開發(fā)小程序有幾點注意的1.一定不要忘記在app.js里初始化云開發(fā)環(huán)境。
2.創(chuàng)建完云函數(shù)后,一定要記得上傳
二、創(chuàng)建支付的云函數(shù)1.創(chuàng)建云函數(shù)pay
三、引入三方依賴tenpay我們這里引入三方依賴的目的,是創(chuàng)建我們支付時需要的一些參數(shù)。我們安裝依賴是使用里npm 而npm必須安裝node,關(guān)于如何安裝node,我這里不做講解,百度一下,網(wǎng)上一大堆。
1.首先右鍵pay,然后選擇在終端中打開 2.我們使用npm來安裝這個依賴。在命令行里執(zhí)行 npm i tenpay
安裝完成后,我們的pay云函數(shù)會多出一個package.json 文件
到這里我們的tenpay依賴就安裝好了。
四、編寫云函數(shù)pay完整代碼如下
//云開發(fā)實現(xiàn)支付 const cloud = require("wx-server-sdk") cloud.init() //1,引入支付的三方依賴 const tenpay = require("tenpay"); //2,配置支付信息 const config = { appid: "你的小程序appid", mchid: "你的微信商戶號", partnerKey: "微信支付安全密鑰", notify_url: "支付回調(diào)網(wǎng)址,這里可以先隨意填一個網(wǎng)址", spbill_create_ip: "127.0.0.1" //這里填這個就可以 }; 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: "商品簡單描述", total_fee: money, //訂單金額(分), openid: wxContext.OPENID //付款用戶的openid }); return result; }一定要注意把appid,mchid,partnerKey換成你自己的。
到這里我們獲取小程序支付所需參數(shù)的云函數(shù)代碼就編寫完成了。
不要忘記上傳這個云函數(shù)。
出現(xiàn)下圖就代表上傳成功
五、寫一個簡單的頁面,用來提交訂單,調(diào)用pay云函數(shù)。這個頁面很簡單:
1.自己隨便編寫一個訂單號(這個訂單號要大于6位)
2.自己隨便填寫一個訂單價(單位是分)
3.點擊按鈕,調(diào)用pay云函數(shù)。獲取支付所需參數(shù)。
下圖是官方支付api所需要的一些必須參數(shù)。
下圖是我們調(diào)用pay云函數(shù)獲取的參數(shù),和上圖所需要的是不是一樣。
六、調(diào)用wx.requestPayment實現(xiàn)支付下圖是官方的示例代碼:
這里不在做具體講解了,把完整代碼給大家貼出來
// 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) } }) }, //實現(xiàn)小程序支付 pay(payData) { //官方標準的支付方法 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ā)實現(xiàn)小程序支付的功能就完整實現(xiàn)了。
實現(xiàn)效果 1.調(diào)起支付鍵盤 2.支付完成 3.log日志,可以看出不同支付狀態(tài)的回調(diào)上圖是支付成功的回調(diào),我們可以在支付成功回調(diào)時,改變訂單支付狀態(tài)。
下圖是支付失敗的回調(diào):
下圖是支付完成的狀態(tài):
到這里我們就輕松的實現(xiàn)了微信小程序的支付功能了,是不是很簡單啊。
源碼地址:https://github.com/TencentClo...
如果你有關(guān)于使用云開發(fā)CloudBase相關(guān)的技術(shù)故事/技術(shù)實戰(zhàn)經(jīng)驗想要跟大家分享,歡迎留言聯(lián)系我們哦~比心!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/106799.html
摘要:七調(diào)用云函數(shù)發(fā)送郵件我們在文件里寫一個按鈕,當點擊這個按鈕時就發(fā)送郵件。到這里我們就完整的實現(xiàn)了微信小程序云開發(fā)使用云函數(shù)發(fā)送郵件的功能了。 先看效果圖: showImg(https://segmentfault.com/img/remote/1460000020151412); 通過上面的日志,可以看出我們是158開頭的郵箱給250開頭的郵箱發(fā)送郵件,下面是成功接收到的郵件。 sho...
摘要:用小程序云開發(fā)將博客小程序常用功能一網(wǎng)打盡本文介紹博客小程序的詳情頁的功能按鈕如何實現(xiàn),具體包括評論點贊收藏和海報功能,這里記錄下整個實現(xiàn)過程和實際編碼中的一些坑。考慮到小程序本身的大小限制,使用的方式是最佳的。 用小程序·云開發(fā)將博客小程序常用功能一網(wǎng)打盡 本文介紹mini博客小程序的詳情頁的功能按鈕如何實現(xiàn),具體包括評論、點贊、收藏和海報功能,這里記錄下整個實現(xiàn)過程和實際編碼中的一...
摘要:用小程序云開發(fā)將博客小程序常用功能一網(wǎng)打盡本文介紹博客小程序的詳情頁的功能按鈕如何實現(xiàn),具體包括評論點贊收藏和海報功能,這里記錄下整個實現(xiàn)過程和實際編碼中的一些坑。考慮到小程序本身的大小限制,使用的方式是最佳的。 用小程序·云開發(fā)將博客小程序常用功能一網(wǎng)打盡 本文介紹mini博客小程序的詳情頁的功能按鈕如何實現(xiàn),具體包括評論、點贊、收藏和海報功能,這里記錄下整個實現(xiàn)過程和實際編碼中的一...
摘要:閑暇之余,聽媳婦嘀咕說要給她做一個能表達她每日心情的小程序,只能她在上面發(fā)東西。既然媳婦發(fā)話了,就花點心思做一個吧,因為沒有圖,所有布局全靠自己瞎編,下面結(jié)合圖片和代碼跟大家講解下實現(xiàn)過程,內(nèi)容略長,感興趣的可以一覽。 閑暇之余,聽媳婦嘀咕說要給她做一個能表達她每日心情的小程序,只能她在上面發(fā)東西。既然媳婦發(fā)話了,就花點心思做一個吧,因為沒有UI圖,所有布局全靠自己瞎編,下面結(jié)合圖片和...
摘要:筆者最近涉獵了小程序相關(guān)的知識,于是利用周末時間開發(fā)了一款類似于同事的小程序,深度體驗了小程序云開發(fā)模式提供的云函數(shù)數(shù)據(jù)庫存儲三大能力。 筆者最近涉獵了小程序相關(guān)的知識,于是利用周末時間開發(fā)了一款類似于同事的小程序,深度體驗了小程序云開發(fā)模式提供的云函數(shù)、數(shù)據(jù)庫、存儲三大能力。關(guān)于云開發(fā),可參考文檔:小程序·云開發(fā)。 個人感覺云開發(fā)帶來的最大好處是鑒權(quán)流程的簡化和對后端的弱化,所以像筆...
閱讀 1210·2019-08-30 15:55
閱讀 957·2019-08-30 15:55
閱讀 2155·2019-08-30 15:44
閱讀 2889·2019-08-29 14:17
閱讀 1136·2019-08-29 12:45
閱讀 3311·2019-08-26 10:48
閱讀 3136·2019-08-23 18:18
閱讀 2604·2019-08-23 16:47