微信H5支付跳转问题

news/2024/10/17 23:23:19/

官方文档:微信支付-开发者文档

官方说法:服务端调用下单接口后,将返回的 mweb_url 链接返回给客户端,让客户端调用该链接拉起微信支付,需要配置跳转地址的话,在链接后面带上 &redirect_url=跳转地址,不带则默认返回当前页面(iOS有问题,会跳域名,不带接口)

处理iOS 跳转问题:

服务端调用下单接口后,将返回的 mweb_url 链接在服务端请求一次,请求的时候要带请求头参数 Referer 值必须是你申请的支付白名单,会返回一个html页面,通过正则表达式获取 deeplink 后面的链接给客户端使用,会变成直接拉起微信支付,没跳中间页。

可以

    private String readUrl(String mweb_url) throws Exception{String regex = "deeplink : \"[^\"]+\"";Pattern pattern = Pattern.compile(regex);URL payUrl = new URL(mweb_url);URLConnection con = payUrl.openConnection();con.setRequestProperty("Referer", "https://aaa.com"); // 加referer防盗链,必须是你申请的支付白名单BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(),"UTF-8"));String result = "";String realLineStr = null;while((realLineStr = br.readLine()) != null){Matcher matcher = pattern.matcher(realLineStr); // 一行行查找if(matcher.find()){result = matcher.group(); // 匹配deeplinkbreak; // 跳出循环}}
//deeplink:weixin://wap/pay?prepayid%3Dwx13204624745902b7939b944d06f8420000&package=953378881&noncestr=1663073184&sign=af6078942315921b9935480dd0836a77//截取deeplink 的值,或者改一下正则表达式一次性获取if(StringUtils.isEmpty(result) || result.length() < 11){result = mweb_url;}else{String deeplink = result.substring(11).replace("\"","");result = deeplink;}return result;}

 


http://www.ppmy.cn/news/465068.html

相关文章

微信小程序禁止页面上下滑动的三个方式

开发的时候&#xff0c;会遇到产品或者UI发出如下规定&#xff1a; 1、如果是一屏的页面&#xff0c;就禁止页面能上下滑动 2、如果显示弹窗的时候&#xff0c;长屏幕禁止上下滑动&#xff01; 感叹一句&#xff1a;好变态 当然&#xff0c;感叹归感叹&#xff0c;但是还是…

企业微信客户端调试工具

最近自己在搞企业微信上的第三方应用&#xff0c;需要调试一些东西。没有像谷歌那样的开发者工具真的好头疼。 还好企业微信提供这样的工具。那我来说说自己是如何下载和使用的。 第一步&#xff0c;先去官网下载 常见问题 - FAQ - 接口文档 - 企业微信开发者中心 直接下载 …

h5判断是否在微信环境下

微信环境h5跳转小程序页面&#xff1a; 1、判断环境 var ua navigator.userAgent.toLowerCase();if (ua.match(/MicroMessenger/i) "micromessenger") {//ios的ua中无miniProgram&#xff0c;但都有MicroMessenger&#xff08;表示是微信浏览器&#xff09;wx.min…

Windows运行vbs在微信下自动发送烟花、庆祝

相关链接&#xff1a;wshShell.SendKeys模拟键盘操作 在txt下粘贴以下代码&#xff0c;修改txt文件为vbs&#xff0c;根据需求自行调整 Set WshShellWScript.CreateObject("WScript.Shell")WshShell.AppActivate "WeChat.Application"for i1 to 10WScript…

微信小程序转发功能的实现

前段时间做了一个微信小程序的项目&#xff0c;在项目中有实现过小程序的转发功能,这里给大家分享一下&#xff0c;有不对的地方勿喷 微信小程序官方文档:基础 | 微信开放文档 实现小程序转发有二种方式&#xff0c;一种是用户点击右上角转发&#xff0c;一种是在html文件中通…

uniapp实现微信登录

项目描述 使用uniapp框架编写微信小程序&#xff0c;使用自己的后端&#xff0c;实现微信登陆功能。 登录流程 此处参考微信官网提供的 小程序登录流程时序 如下图&#xff1a; 图片来源&#xff1a;微信官方API文档 所以登录的流程即&#xff1a; 首先在前端调用login()…

Unity 打包微信

1、更换字体 打包微信时unity自带的字体不显示汉字&#xff0c;需要更换字体 2、下载插件 https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/blob/main/Design/Transform.md 3、Unity 版本&#xff0c;需要支持WebGL 4、打包 添加插件后点击【微信小…

docker安装微信

文章目录 安装dockerpull bestwu/wechat启动微信创建微信容器docker start wechat方式启动微信容器 更优雅的方式使用微信下载合适的wechat icon将当前用户加入sudoers创建微信启动脚本创建快捷方式快捷启动 安装docker 略&#xff0c;看Get Docker pull bestwu/wechat 略。…