后台配置

wechat:pay:#秘钥key: #此处为商户平台配置的api秘钥 我用的apiv2接口 推荐v2 v3使用一样的秘钥#公众号 AppidsubscriptionAppId: xxxx#公众号 商户idsubscriptionMchId: xxxxx# 证书地址certPath: /cert/apiclient_cert.p12 #在商户平台下载的证书复制到resourcesd的cert目录下spbillCreateIp: #正常ip即可callBack: #这两个地址需要在微信公众号后台添加白名单和配置notifyUrl: #通知地址returnUrl: #回调地址
/**
*自定义预支付方法 用于传给前端需要参数唤起微信支付
*/
@ApiOperation("支付接口")
@PostMapping("payMoney")
@RepeatSubmit(interval = 1000, message = "请求过于频繁")
public AjaxResult payMoney(@RequestBody ReqPayVO reqPayVO) {// 整理返回值mapMap<String, Object> map = new HashMap<>(2);Map<String, Object> createAAssessTestOrderMap = businessPayService.createOrder(reqPayVO);map.put("orderId", createAAssessTestOrderMap.get("orderId"));map.put("wechatJsApiResult", createAAssessTestOrderMap.get("wechatJsApiResult"));return AjaxResult.success(map);
}

前台代码

前端只需要接收参数发请求即可。

//继续支付
payAgain() {console.log(this);const data = this._data.result;const params = {openId: data.openId,orderId: data.orderNum,payMoney: data.cost,body: data.body,type: data.type}payAgain(params).then(({data}) => {uni.hideLoading();console.log(params);uni.hideLoading();if (data.code == 200) {console.log(data);WeixinJSBridge.invoke('getBrandWCPayRequest', {// 公众号ID,由商户传入"appId": data.appId,// 时间戳,自1970年以来的秒数"timeStamp": data.timestamp,// 随机串"nonceStr":data.noncestr,"package":data.pack,// 微信签名方式"signType":"MD5",// 微信签名"paySign":data.paySign},function(res){if(res.err_msg == "get_brand_wcpay_request:ok" ){// 使用以上方式判断前端返回,微信团队郑重提示:// res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。}});} else {console.log(data);console.log(666);}});
},

本地测试

因为微信开发助手不能唤起微信支付,只好找其他测试方法,最后找到一个思路。

参考地址:https://blog.csdn.net/w263756314/article/details/110014307

1.先穿透本地后台服务的生成域名

2.自定义支付测试代码方法

3.用手机微信打开测试地址,完成测试

(把测试地址发到随便一个聊天框,点开就行)

真机调试(跟测试微信支付没啥关系,可不看,了解即可)

  1. 下载tbs studio工具,网址;https://x5.tencent.com/tbs/guide/debug/download.html

    (ps:我第一次下载点了好几次下载成功)

  2. 设置手机调试参数 可参考:https://blog.csdn.net/yishengyouni95/article/details/80719281

  3. 微信降级8.0.21版本,降级前需要删除新版

    微信更新8.0.22版本后原来的debugmm.qq.com/?forcex5=true打开显示不支持切换x5内核,所以需要回退微信版本 可参考:https://www.bilibili.com/read/cv16749069

    (直接点击线上安装内核就行 重启微信)

    4.按照指示点击调试

    (将要调试的公众号置于手机前端:就是打开公众号之后别动了)

也可以在谷歌浏览器输入:chrome://inspect/#devices

(tbs studio需要一直打开 谷歌流览器依赖这个工具)

点击inspect,第一次需要代理,

5.打开科学的梯子

打开谷歌扩展程序,搜索SwitchyOmega 我选择的第一个 感觉随便一个都可以

(顺便下了几个视频网站免vip的插件)


之后点击inspect,出现跟手机一模一样的界面,开始调试

java开发微信公众号支付全流程相关推荐

  1. java开发微信公众号支付

    这篇文章主要给大家结合微信支付接口开发的实践,从获取用户授权到各主要接口的使用方法等方面介绍微信支付的关键点技术,有需要的小伙伴可以参考下 最近做了微信公众号支付的开发,由于是第一次做也摸索了几天的时 ...

  2. Java开发微信公众号(二)---开启开发者模式,接入微信公众平台开发

    接入微信公众平台开发,开发者需要按照如下步骤完成: 1.填写服务器配置 2.验证服务器地址的有效性 3.依据接口文档实现业务逻辑 资料准备: 1.一个可以访问的外网,即80的访问端口,因为微信公众号接 ...

  3. Java开发微信公众号(四)---微信服务器post消息体的接收及消息的处理

    在前几节文章中我们讲述了微信公众号环境的搭建.如何接入微信公众平台.以及微信服务器请求消息,响应消息,事件消息以及工具处理类的封装:接下来我们重点说一下-微信服务器post消息体的接收及消息的处理,这 ...

  4. 微信公众号页面支付接口java,[Java教程]微信公众号支付(三):页面调用微信支付JS并完成支付...

    [Java教程]微信公众号支付(三):页面调用微信支付JS并完成支付 0 2015-09-15 15:00:30 一.调用微信的JS文件 1.首先要绑定[JS接口安全域名],"公众号设置&q ...

  5. Java开发微信公众号之被动回复用户消息-回复图片消息

    一.前言 hello小伙伴们,大家好,做微信开发两年了,最近看到微信方面的文章阅读量和关注量上升的比较快速,激发了我满满的动力啊,所以就滋生了一个想法,从头开始整理一下微信公众号开发,写一个简易的教程 ...

  6. java版微信公众号支付

    前言 今天是2020-4-1愚人节,好久没写博客了,今天准备写一篇微信公众号支付,刚好公司给了我账户,让我有参数测试,由于以前对于支付是小白,所以把这个功能打通花了2天,一天8小时,首先看官网文档,其 ...

  7. Java开发微信公众号之整合weixin-java-tools框架开发微信公众号

    微信开发者接入文档 : https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421135319 微信公众平台测试账号申请: http ...

  8. php 公众号微信支付流程,微信公众号支付完整流程案例

    简介 微信公众号支付,顾名思义就是必须在微信中实现支付,并且需要公众号配合. 教程 由于我们使用的是第三方封装好的接口,这里省去了我们自己配置公众号.为什么用第三方?因为个人没有申请权限. 交互细节: ...

  9. java开发微信公众号接受并回复消息[工程代码+图片全解]

    写这篇博客时犹豫了好久,因为步骤太多了,上班了也没时间,但是我依然记得当时实现公众号自动回复时的场景,找个案例好 难,也没有一个完整的案例,想了想还是写出来吧,希望能让实现这功能的人少走弯路. 微信公 ...

  10. 微信公众号支付对接流程

    一.首先申请公众号,认证,开通支付功能(具体配置参照API) 二.登录商户平台进行开发设置(具体配置参照API) 三.具体开发流程 首先,官方给出的SDK和demo和一些具体的API文档看起来比较麻烦 ...

最新文章

  1. 知乎:fastjson 这么快,为啥老外还是热衷 jackson?
  2. 给具有SAP传统产品ABAP开发经验的朋友介绍SAP C4C
  3. IdentityServer4系列 | 简化模式
  4. 李宏毅机器学习(八)ELMo、BERT、GPT、XLNet、MASS、BART、UniLM、ELECTRA、others
  5. JTextAre 文字右对齐 JTextArea دىكى خەتلەرنى ئوڭدىن س...
  6. Netty工作笔记0043---单Reactor多线程模式
  7. golang byte转string_golang面试题:怎么避免内存逃逸?
  8. 【二分图匹配】E. 过山车
  9. Blocking waiting for file lock on package cache 后续
  10. [ROS]1 小乌龟
  11. 使用腾讯云服务器搭建Minecraft Java版服务器的一次踩坑
  12. php获取用户访问的dns,dnsproxy in php
  13. 下载网页所有图片的最简单的方法
  14. java计算机毕业设计东理咨询交流论坛源码+数据库+系统+lw文档+部署
  15. 帝国搜索模板不支持php,解决帝国CMS搜索模板不支持灵动标签的方法
  16. 【三】零基础入门深度学习:卷积神经网络基础之初识卷积
  17. 2022-2028全球机载温度传感装置行业调研及趋势分析报告
  18. vs2013由修改模式改为输入模式。
  19. 点序AS2258开东芝/闪迪 1z/15nm制程9DDL MLC经验分享
  20. 测试spring容器

热门文章

  1. dns按来路ip智能解析_智能解析_智能DNS解析_操作指南_云解析 DNS - 阿里云
  2. 网页分享接口代码格式
  3. Unity手游开发札记——布料系统原理浅析和在Unity手游中的应用
  4. 深度linux系统怎么安装软件
  5. 淘宝搜索算法综述之一:淘宝搜索的特点
  6. 虚拟机里CDlinux 里的水滴 minidwep-gtk
  7. 凭据分配没有加密oracle_两种方法解决远程桌面出现“这可能是由于CredSSP加密Oracle修正”的问题-网络教程与技术 -亦是美网络...
  8. Spring实战——FileSystemResource
  9. html使用css居中
  10. MATLAB的非线性变换