小程序怎么通过小程序云实现微信支付功能
发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,这篇"小程序怎么通过小程序云实现微信支付功能"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看
千家信息网最后更新 2025年02月06日小程序怎么通过小程序云实现微信支付功能
这篇"小程序怎么通过小程序云实现微信支付功能"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"小程序怎么通过小程序云实现微信支付功能"文章吧。
一、开通微信支付
1.1 关联商户号
微信公众号平台功能微信支付商户号管理关联商户号
1.2 添加商户号
云开发平台设置其他设置微信支付配置添加商户号
1.3 管理员授权
1.2那张图上,点击授权。管理员的微信就会跳出提示,点击确定授权即可。
否则使用的时候,会出现sub_mch_id与sub_appid不匹配
的报错!
二、云函数开发
2.1 新建云函数
2.2 云函数代码
payindex.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), //第二个坑:注意必须是数字,如果不是数字,则会报错unifiedOrder:fail wx api error: -202 "envId": "ooo-xxxxxxxxxxxxxxxx", //这里是回调函数所属的的云环境id "functionName": "payCallBack", //这个是回调函数名 "nonceStr":event.nonceStr, //第三个坑:官方文档中相关云函数代码没有nonceStr和tradeType,测试的时候会报nonceStr不存在的错,翻看文档才发现这个是必填项,直接粘过来以后还需要加上这两个参数 "tradeType":"JSAPI" }) return res}
2.3 云函数上传并部署
三、小程序调用
3.1 统一下单
微信下单后获得的数据,最好先保存到数据库,留底
再去调起微信支付界面
//调用云函数,微信统一下单 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)//调用自己的uuid函数 }, 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 调起微信支付界面
//官方标准的支付方法,调起支付界面 requestPayment(payData) { var _this = this; const payment = payData.payment//这里注意,上一个函数的result中直接整合了这里要用的参数,直接展开即可使用 wx.requestPayment({ ...payment, //...是展开变量的语法 success(res) { console.log("支付成功", res) _this.paySuccess() }, fail(res) { console.log("支付失败", res) } }) },
3.2 支付成功回调
不太建议直接在requestPayment的success回调函数中,执行支付成功的操作
最好在另外建一个云函数payCallBack
这个云函数payCallBack,调用我们自建服务器的接口,执行支付成功的操作
这边涉及到如何在云函数中调用http接口,卖个关子,后续讲
以上就是关于"小程序怎么通过小程序云实现微信支付功能"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
支付
函数
程序
商户
成功
内容
功能
界面
管理
代码
参数
官方
就是
平台
接口
数字
数据
文档
文章
时候
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库加密如何安装
陕西凌云兄弟网络技术
周跃 三级网络技术 讲义
无线视频服务器厂家
吉祥办公服务器地址
数据库技术结课论文
网络安全项目经历
服装销售数据库mysql设计
潜江市友乐网络技术有限责任公司
钿京软件开发
广东oa软件开发咨询
对数据与通信网络技术感想
江苏网络安全属地管理原则
仁盛网络技术公司
党委党组落实网络安全
大青云网页单机游戏数据库
省级网络安全监督
租服务器怎么装ftp
凤起网络技术有限公司
东莞软件开发中专
办公用服务器
上亿级数据库设计
国家网络安全检查操作指南文件
计算机导论软件开发基本过程
数据库怎么去掉某个字重复项
芝罘区定制软件开发外包公司
嵌入式软件开发岗位
小学生网络安全教育作业
mysql数据库学习网站有哪些
服务器虚拟化 ppt