微信小程序支付前端源码

作者:oneall 时间:2024-06-19 18:58:51 

本文实例为大家分享了微信小程序支付前端源码,供大家参考,具体内容如下


//index.js
Page({
data: {
},
//点击支付按钮进行支付
payclick: function () {
var t = this;
wx.login({
 //获取code换取openID
 success: function (res) {
 //code = res.code //返回code
 console.log("获取code");
 console.log(res.code);
 var opid = t.getOpenId(res.code);
 }
})
},
//获取openID
getOpenId: function (code) {
var that = this;
wx.request({
 url: "https://api.weixin.qq.com/sns/jscode2session?appid=你的appid&secret=AppSecret(小程序密钥)&js_code=" + code + "&grant_type=authorization_code",
 data: {},
 method: 'GET',
 success: function (res) {
 console.log("获取openid")
 console.log(res)
 that.setData({
  openid: res.data.openid,
  session_key: res.data.session_key
 })
 that.generateOrder(res.data.openid)
 },
 fail: function () {
 // fail
 },
 complete: function () {
 // complete
 }
})
},
//生成商户订单
generateOrder: function (openid) {
var that = this
wx.request({
 url: 'http://localhost:25492/wx/getda',//后台请求地址
 method: 'GET',
 data: {
 gfee: '商品价钱',
 gname: '商品名称',
 openId: openid
 //(商品价钱和商品名称根据自身需要是否传值, openid为必传)
 },
 success: function (res) {
 console.log("后台获取数据成功");
 console.log(res);
 var param = { "timeStamp": res.data.timeStamp, "package": res.data.package, "paySign": res.data.paySign, "signType": "MD5", "nonceStr": res.data.nonceStr };
  //发起支付
 that.pay(param);
 },
 fail: function (res) {
 console.log("向后台发送数据失败")
 }
})
},
//支付
pay: function (param) {
var that = this;
console.log("发起支付")
console.log(param)
wx.requestPayment({
 timeStamp: param.timeStamp,
 nonceStr: param.nonceStr,
 package: param.package,
 signType: param.signType,
 paySign: param.paySign,
 success: function (res) {
 console.log("success");
 console.log(res);
 },
 fail: function (res) {
 console.log("fail")
 console.log(res);
 },
 complete: function (res) {
 console.log("complete");
 console.log(res)
 }
})
}
})

本地调试如过出现请求失败请将    微信开发者工具  >    详情(右上角) > 不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书   勾上即可

来源:https://www.cnblogs.com/oneall/p/9548448.html

标签:微信小程序,支付
0
投稿

猜你喜欢

  • Python3基于sax解析xml操作示例

    2022-06-07 10:18:52
  • python内打印变量之%和f的实例

    2021-06-19 07:46:46
  • 详解MySQL中InnoDB的存储文件

    2024-01-13 04:58:00
  • 重置mysql的root密码最简单的方法

    2024-01-18 22:30:02
  • django项目简单调取百度翻译接口的方法

    2023-10-20 18:25:41
  • MySQL流程控制IF()、IFNULL()、NULLIF()、ISNULL()函数的使用

    2024-01-13 19:07:17
  • Golang中channel的原理解读(推荐)

    2024-02-08 15:41:38
  • Python如何判断数独是否合法

    2023-05-18 06:09:45
  • Go语言中内存管理逃逸分析详解

    2024-05-08 10:13:48
  • python实现删除列表中某个元素的3种方法

    2023-02-08 16:01:59
  • python机器学习基础决策树与随机森林概率论

    2023-06-04 16:55:08
  • SQL Server中数据行批量插入脚本的存储实现

    2024-01-15 17:26:59
  • Python魔法方法 容器部方法详解

    2021-02-05 19:25:43
  • Python标准库之日期、时间和日历模块

    2021-04-11 17:05:14
  • python实现自动登录

    2023-10-20 05:11:46
  • MySQL在Windows中net start mysql 启动MySQL服务报错 发生系统错误解决方案

    2024-01-12 21:39:42
  • Python如何把不同类型数据的json序列化

    2021-06-01 22:52:16
  • php支持中文字符串分割的函数

    2023-11-18 21:42:04
  • CentOS中升级Python版本的方法详解

    2021-08-22 20:22:30
  • Vue.js实现微信过渡动画左右切换效果

    2023-07-02 17:03:10
  • asp之家 网络编程 m.aspxhome.com