日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

10行代码实现小程序支付功能!丨实战

發布時間:2023/12/10 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 10行代码实现小程序支付功能!丨实战 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前面給大家講過一個借助小程序云開發實現微信支付的,但是那個操作稍微有點繁瑣,并且還會經常出現問題,今天就給大家講一個簡單的,并且借助官方支付api實現小程序支付功能。

傳送門:
借助小程序云開發實現小程序支付功能

老規矩,先看本節效果圖

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

一、創建一個云開發小程序

關于如何創建云開發小程序,這里我就不再做具體講解。不知道怎么創建云開發小程序的同學,可以去翻看騰訊云云開發公眾號內菜單【技術交流-視頻教程】中的教學視頻。

創建云開發小程序有幾點注意的

1.一定不要忘記在app.js里初始化云開發環境。

2.創建完云函數后,一定要記得上傳

二、創建支付的云函數

1.創建云函數pay

三、引入三方依賴tenpay

我們這里引入三方依賴的目的,是創建我們支付時需要的一些參數。我們安裝依賴是使用里npm 而npm必須安裝node,關于如何安裝node,我這里不做講解,百度一下,網上一大堆。

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

2.我們使用npm來安裝這個依賴。

在命令行里執行 npm i tenpay

安裝完成后,我們的pay云函數會多出一個package.json 文件

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

四、編寫云函數pay

完整代碼如下

//云開發實現支付 const cloud = require('wx-server-sdk') cloud.init()//1,引入支付的三方依賴 const tenpay = require('tenpay'); //2,配置支付信息 const config = {appid: '你的小程序appid', mchid: '你的微信商戶號',partnerKey: '微信支付安全密鑰', notify_url: '支付回調網址,這里可以先隨意填一個網址', 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換成你自己的。

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

不要忘記上傳這個云函數。

出現下圖就代表上傳成功

五、寫一個簡單的頁面,用來提交訂單,調用pay云函數。

這個頁面很簡單:

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

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

3.點擊按鈕,調用pay云函數。獲取支付所需參數。

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

下圖是我們調用pay云函數獲取的參數,和上圖所需要的是不是一樣。

六、調用wx.requestPayment實現支付

下圖是官方的示例代碼:

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

// pages/pay/pay.js Page({//提交訂單formSubmit: function(e) {let that = this;let formData = e.detail.valueconsole.log('form發生了submit事件,攜帶數據為:', 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)}})},//實現小程序支付pay(payData) {//官方標準的支付方法wx.requestPayment({timeStamp: payData.timeStamp,nonceStr: payData.nonceStr,package: payData.package, //統一下單接口返回的 prepay_id 格式如:prepay_id=***signType: 'MD5',paySign: payData.paySign, //簽名success(res) {console.log("支付成功", res)},fail(res) {console.log("支付失敗", res)},complete(res) {console.log("支付完成", res)}})} })

到這里,云開發實現小程序支付的功能就完整實現了。

實現效果

1.調起支付鍵盤

2.支付完成

3.log日志,可以看出不同支付狀態的回調

上圖是支付成功的回調,我們可以在支付成功回調時,改變訂單支付狀態。

下圖是支付失敗的回調:

下圖是支付完成的狀態:

到這里我們就輕松的實現了微信小程序的支付功能了,是不是很簡單啊。

源碼地址:

https://github.com/TencentCloudBase/Good-practice-tutorial-recommended


如果你有關于使用云開發CloudBase相關的技術故事/技術實戰經驗想要跟大家分享,歡迎留言聯系我們哦~比心!

轉載于:https://www.cnblogs.com/CloudBase/p/11357200.html

總結

以上是生活随笔為你收集整理的10行代码实现小程序支付功能!丨实战的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。