当前位置:首页 > JS逆向 > 10行代码实现微信小程序支付功能,使用小程序云开发实现小程序支付功能(含源码)

10行代码实现微信小程序支付功能,使用小程序云开发实现小程序支付功能(含源码)

一叶知秋2024-05-11 09:20:05JS逆向3

知其然不知其所以然,大厂常问面试技术如何复习?

1、热门面试题及答案大全

面试前做足功夫,让你面试成功率提升一截,这里一份热门350道一线互联网常问面试题及答案助你拿offer

2、多线程、高并发、缓存入门到实战项目pdf书籍

3、文中提到面试题答案整理

4、Java核心知识面试宝典

覆盖了JVM 、JAVA集合、JAVA多线程并发、JAVA基础、Spring原理、微服务、Netty与RPC、网络、日志、Zookeeper、Kafka、RabbitMQ、Hbase、MongoDB 、Cassandra、设计模式、负载均衡、数据库、一致性算法 、JAVA算法、数据结构、算法、分布式缓存、Hadoop、Spark、Storm的大量技术点且讲解的非常深入

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

安装完成后,我们的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云函数获取的参数,和上图所需要的是不是一样。

[图片上传中...(WechatIMG9.jpeg-82c1c2-1565617669894-0)]

六,调用wx.requestPayment实现支付

======================================================================================

下图是官方的示例代码

这里不在做具体讲解了,把完整代码给大家贴出来


// pages/pay/pay.js

Page({

  //提交订单

  formSubmit: function(e) {

    let that = this;

    let formData = e.detail.value

    console.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)

      }

    })

  }

})



到这里,云开发实现小程序支付的功能就完整实现了。

实现效果

=================================================================

最后

由于文案过于长,在此就不一一介绍了,这份Java后端架构进阶笔记内容包括:Java集合,JVM、Java并发、微服务、SpringNetty与 RPC 、网络、日志 、Zookeeper 、Kafka 、RabbitMQ 、Hbase 、MongoDB、Cassandra 、Java基础、负载均衡、数据库、一致性算法、Java算法、数据结构、分布式缓存等等知识详解。

image

本知识体系适合于所有Java程序员学习,关于以上目录中的知识点都有详细的讲解及介绍,掌握该知识点的所有内容对你会有一个质的提升,其中也总结了很多面试过程中遇到的题目以及有对应的视频解析总结。

image

image

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

有一个质的提升,其中也总结了很多面试过程中遇到的题目以及有对应的视频解析总结。

[外链图片转存中…(img-Lkl6HrmI-1714830453377)]

[外链图片转存中…(img-hRFuF0l9-1714830453378)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

扫描二维码推送至手机访问。

版权声明:本站部分文章来自互联网采集,请查看免责申明

本文链接:https://www.yyzq.team/post/338159.html

分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。