效果图:

资质

需要是已经开通了微信支付,且已绑定了商户号的小程序。

开通

在云控制台 -> 设置 -> 全局设置中开通。

二, 创建支付的云函数

1,创建云函数pay

三,引入三方依赖tenpay

我们这里引入三方依赖的目的,是创建我们支付时需要的一些参数。我们安装依赖是使用里npm 而npm必须安装node,关于如何安装node,我这里不做讲解,百度一下,网上一大堆。

1,首先右键pay,然后选择在终端中打开

2,我们使用npm来安装这个依赖。

在命令行里执行 npm i tenpay



安装完成后,目录如下

到这里我们的tenpay依赖就安装好了。

四,编写云函数pay


代码如下

//云开发实现支付
const cloud = require('wx-server-sdk')
cloud.init()//1,引入支付的三方依赖
const tenpay = require('tenpay');
//2,配置支付信息
const config = {appid: 'xxxxxx', mchid: 'xxxx',partnerKey: 'xxxxxxx', notify_url: 'http://xxx.xxxxxx.cn', 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/see-businessCard/see-businessCard.jsconst app = getApp();
var thatconst db = wx.cloud.database()
const _ = db.command
Page({/*** 页面的初始数据*/data: {list: [],},onLoad(){that=thisthis.formSubmit()},//提交订单formSubmit: function(e) {let that = this;wx.cloud.callFunction({name: "pay",data: {orderid: "a1212",money: "100"},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. 小程序云开发实现微信支付,不需要搭建服务器

    一.开发微信支付功能一定要架设服务器吗? 2019年的最后一天,舍得叔叔沉浸在探索的兴奋中,验证了微信小程序云开发也能优雅实现微信支付!小程序的目标是建立一个"serverless" ...

  2. 微信小程序云开发之微信支付

    文章目录 使用云函数获取wx.requestPayment所需的参数 第一步.使用npm导入tenpay 第二步.编写云函数代码 在页面js中调用该云函数即可 使用promise对代码进行改进 前两天 ...

  3. 微信小程序云开发图片上传完整代码附效果图

    在app.json里面加如下代码, 使用 WeUI组件库.点击跳转 "useExtendedLib": {"weui": true}, 先看效果图 wxml & ...

  4. mysql导入微信小程序云开发_微信小程序-云开发数据库上传json文件

    小程序新增了云开发功能,对于个人开发者是个利好消息.可以省去购买服务器,购买域名以及繁琐配置等步骤,减轻了开发者的负担.至于如何云开发我就不在这里赘述了,请移步微信小程序云开发官方文档,说的很清楚.这 ...

  5. 微信小程序云开发|基于微信小程序实现房产中介平台系统

    作者主页:编程千纸鹤 作者简介:Java.前端.Python开发多年,做过高程,项目经理,架构师 主要内容:Java项目开发.毕业设计开发.面试技术整理.最新技术分享 收藏点赞不迷路  关注作者有好处 ...

  6. 微信小程序云开发 mysql_微信小程序云开发学习笔记(一)云数据库

    云开发配置的环境:cloud-learning 云开发环境初始化准备 需要: APPID 操作: 在创建项目时,填入APPID并选择不使用云函数 进入到开发者页面,点击左上角的云开发并选择开通 设置云 ...

  7. 微信小程序云开发教程-微信小程序框架的介绍

    同学们大家好,我是小伊同学,今天我们来学习微信小程序框架. 微信小程序实质上是一款基于web技术的应用程序,他和我们平常所接触到的前端网页是大同小异的.相同点在于他们使用的开发语言,代码结构以及代码的 ...

  8. 微信小程序云开发 mysql_微信小程序云开发数据库

    如在云开发数据库的基础介绍中所说,云开发提供了一个 JSON 数据库,本章将介绍以下内容: 上手:用控制台创建我的第一个集合,插入我的第一条数据 数据类型:了解数据库提供的数据类型 权限控制:控制集合 ...

  9. 页面url带参数_微信小程序云开发教程微信小程序的JS高级页面间数据传递

    同学们大家好,我是小伊同学,上一节课我们讲解了全局数据的读写方法,那么在页面间同样需要数据交互,今天我们就来学习这部分内容. 在微信小程序中,我们常常需要将数据在页面之间进行传递,比如用户的身份信息, ...

最新文章

  1. “ yield”关键字有什么作用?
  2. bio和bieos哪个标注模式好_阿里巴巴和亚马逊电商模式差异?哪个电商好做
  3. 前端开发学习的基础网站
  4. github 公钥 私钥_理解公钥与私钥
  5. C++ functor 仿函数
  6. Android官方开发文档Training系列课程中文版:Activity测试之UI组件测试
  7. Java案例:接口的缺省方法
  8. 生成汉字拼音首字母函数!
  9. Win8 开发者训练营第一天的过程,感受和收获
  10. 数字图像处理 冈萨雷斯 (第四版) 比特平面分层,图像重建
  11. 康复医学导论计算机PPT课文,康复导论ppt课件.pptx
  12. 基于 VIVADO 的 AM 调制解调(2)工程实现
  13. CNN表情识别系统制作(1)----fer2013人脸表情数据集简介
  14. Android存储之MediaStore的使用
  15. 如何有效阅读他人代码(一)
  16. Linux下怎么让挂起的(suspend or stopped)进程恢复执行(resume)
  17. python 中的numpy_Python中numpy的应用
  18. SyncE和1588的关系
  19. 黑客攻击五种手段,其实要避免也不难,终究离不开骗术
  20. php 天干地支,php实现天干地支计算器示例

热门文章

  1. 电脑桌面点击计算机反应迟钝,电脑桌面刷新反应慢?一个小操作即可解决!
  2. UDP 实现多收多发,广播发送,组播发送 TCP 实现多收多发
  3. Zxing jar的下载地址
  4. ubuntu显示扩展名
  5. python if main_python if __name__ == 'main' 的作用和原理()
  6. VSPD虚拟串口工具——使用完一定要删除串口
  7. 数据科学家经典20道面试题
  8. Excel数据行高参差不齐,如何一键设置固定行高
  9. PHP 获取当天凌晨时间戳
  10. softmax,softmax loss和交叉熵的关系