先说下这个的背景吧。。。

本人是做java后端的,自认为还有很大的发展空间(嘻嘻,你懂的),看过一段时间的小程序可是没有支付成功。。。最近公司要做小程序项目,老大让我看下小程序,折腾了好几天,参照着https://blog.csdn.net/zhourenfei17/article/details/77765585 这篇博客,终于弄出来了。。。。。。。

虽然,效率还有很大提升空间,但是还是在这里做下记录,希望能后来,的人能有些参考。

上面链接的博文是有java代码的(其实原文中也有小程序端代码),我这里只贴一下小程序端的代码吧。

// pages/pay/pay.js
Page({/*** 页面的初始数据*/data: {},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {wx.login({success: function (res) {var service_url = 'https://04f19bb6.ngrok.io/pay/weixin/login?code=' + res.code;//需要将服务器域名添加到小程序的request合法域名中,而且必须是https开头  //这里的地址是我用ngrok 代理本机的地址(不知道ngrok 的同学可以百度下, 很简单)wx.request({url: service_url,data: {code: res.code},method: 'GET',success: function (res) {console.log(res);if (res.data != null && res.data != undefined && res.data != '') {wx.setStorageSync("openid", res.data.openid);//将获取的openid存到缓存中  }var openid = res.data.openid;var that = this;wx.request({url: 'https://04f19bb6.ngrok.io/pay/weixin/wxpay?openid=' + openid ,data: {},method: 'GET',success: function (res) {console.log(res);console.log(res.data.data.packge)//小程序发起微信支付wx.requestPayment({timeStamp: res.data.data.timeStamp,//记住,这边的timeStamp一定要是字符串类型的,不然会报错,我这边在java后端包装成了字符串类型了nonceStr: res.data.data.nonceStr,package: res.data.data.package,signType: 'MD5',paySign: res.data.data.paySign,success: function (event) {// success   console.log(event);wx.showToast({title: '支付成功',icon: 'success',duration: 2000});},fail: function (error) {// fail   console.log("支付失败")console.log(error)},complete: function () {// complete   console.log("pay complete")}});}});}});}});},/*** 生命周期函数--监听页面初次渲染完成*/onReady: function () {},/*** 生命周期函数--监听页面显示*/onShow: function () {},/*** 生命周期函数--监听页面隐藏*/onHide: function () {},/*** 生命周期函数--监听页面卸载*/onUnload: function () {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh: function () {},/*** 页面上拉触底事件的处理函数*/onReachBottom: function () {},/*** 用户点击右上角分享*/onShareAppMessage: function () {},})

  小程序端的代码我略微做出了写改正就是,把 博主原来的

doWxPay(res.data)这个函数直接写在的 onload()函数中。
其他需要注意的地方就是,小程序我新建了一个pay 的page,在app.json中把它放在了最上面,所以可以直接调用到该方法。。
期间遇到的写bug:
1 注意商户的支付秘钥和小程序的秘钥是不同的,注意在java代码中填写正确。
2 其他的坑就是在返回参数的时候少写=   调用微信 支付借口失败,显示没有支付金额。。其实是

"prepay_id="  要带等号。

转载于:https://www.cnblogs.com/prader6/p/10394987.html

微信小程序支付,带java源码相关推荐

  1. 基于java springboot的小说阅读微信小程序含后台管理系统源码

    系统运行环境 开发工具 eclipse(idea),mysql5.7(大于5.5),navicat,小程序开发工具 硬件要求 windows操作系统 cpu:2.4GHz 内存:4G 硬盘:100G ...

  2. 微信小程序宠物商城项目源码来了~

    微信小程序蒙服汇项目源码来了~ 微信小程序垃圾分类项目源码来了~ 微信小程序校园社团管理系统项目源码来了~ 团队承接各类小程序定制,需要加微 code_gg_boy .小商城,购物,公司的一些管理,流 ...

  3. 基于olami开放语义平台的微信小程序遥知之源码实现

    概述 实现一个智能生活信息查询的小秘书功能,支持查天气.新闻.日历.汇率.笑话.故事.百科.诗词.邮编.区号.菜谱.股票.节目预告,还支持闲聊.算24点.数学计算.单位换算.购物.搜索等功能. 使用方 ...

  4. 微信小程序盲盒系统源码 附带教程

    微信小程序盲盒系统源码 可对接微信支付 附带教程 盲盒小程序的教学 服务器安装宝塔面板 设置好网站 数据库 设置好SSL证书 上传微擎框架 框架安装好 上传小程序后台 /addons 这个目录是放置后 ...

  5. 微云二手车运营版 公众号+小程序v1.1.20+微信小程序+抖音端源码安装教程

    系统包括PC+公众号+小程序v1.1.20+微信小程序+抖音小程序前端,使用前先在后台初始化下数据.播播资源网技术小编看了下说明是带PC端功能,但后台没找到设置的地方,不过公众号+小程序+抖音也够用了 ...

  6. 微信小程序支付(java后端)

    微信支付文档传送门:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_3 1.开发工具: idea+springclou ...

  7. 微信小程序云开发实例 源码 部署详细流程[自带管理后台]

    项目介绍 小贝校招 项目是集校招资讯.内推.刷题.简历模板下载等功能于一体的小程序,基于微信原生+微信云开发+vant+colorui以及相关技术栈开发,自带图像云开发后台,不需要自己建网站. 源代码 ...

  8. 小程序支付php客户源码,微信小程序支付-PHP后端

    一.前端代码: 1.先写一个可以点击支付的按钮支付 2.开始js代码pay: function(){ //下订单并唤起微信支付 var price = '0.01'; //支付金额 var openi ...

  9. 校园服务小程序源代码分享园服务微信小程序全开源版源码-包含服务端

    2021年4月17日更新 严正声明: [请一定勿将程序用户商业用途且 包括 用此程序去参加各类学校的竞赛或者其他以获取名利而参与的竞赛等,一旦被原作者发现将会面临严重的侵权责任后果,特别是被获奖后会遭 ...

  10. 微信小程序反编译-获取源码

    1.使用PC端微信找到微信小程序的存储位置 找到文件位置删除applet文件夹下所有文件,方便后期定位自己需要编译的小程序 2. 点击自己需要反编译的小程序 3. 查看微信小程序生成的文件 wx开头的 ...

最新文章

  1. oracle date怎么用,Oracle to_date的使用方法
  2. Linux下kvm宿主机死机,看到一些朋友苦虚拟机久矣,分享下我使用KVM的一些经验和技巧...
  3. drupal 7 连接多个数据库
  4. 【调查】您对计算机培训感兴趣吗?
  5. php cli swoole mysql_[了解实践]Swoole、PHP与MySQL:连接池,swoole扩展实现真正的PHP数据库连接池。...
  6. 拓扑排序最长链-P3119 [USACO15JAN]草鉴定Grass Cownoisseur
  7. 【转】C#开发奇技淫巧三:把dll放在不同的目录让你的程序更整洁
  8. python如何爬虫eps数据_入门Python爬虫 -- 解析数据篇
  9. extjs官网+extjs官网案例
  10. PHP printf()函数格式化使用详解
  11. 面向对象中private理解
  12. SolrCloud Hello Word
  13. python js 效率_Python,Node.js 哪个比较适合写爬虫?
  14. 验票证明怎么打印_纳税人证明在哪里打印
  15. 【镜像取证篇】常见镜像文件类型
  16. topo排序判环实操
  17. mysql出现2058,连接MySQL报“Error No.2058 Plugin caching_sha2_password could not be loaded”
  18. 元宇宙的隐私保护:技术与监管
  19. C/C++面试感受和经验以及面试题收藏(转)
  20. 解决Google AdSense导致网站加载慢的优化方法

热门文章

  1. JQuery中ajax的相关方法总结
  2. Https环境下WS接口两次连续调用出错
  3. [Z]建國中學 2012 年資訊科培訓網站
  4. 语法分析器自动生成工具一览
  5. July 4th Links: ASP.NET, ASP.NET AJAX, Visual Studio, Silverlight and IIS7
  6. 3/7 SELECT语句:过滤(WHERE)
  7. Mysql5.7 ZIP 压缩包非安装版的安装方式
  8. SQL 关于地图两个坐标点之间的距离运算
  9. 我的Go语言学习之旅二:入门初体验 Hello World
  10. linux设置永久别名