在微信中如何接入支付宝的提示打开浏览器样式:方法一官网方法

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

都知道支付宝支付在不同环境下分好多种,本文介绍的是<手机网页即时到账接口-手机网页即时到账接口>如何接入。至于如何开通支付宝,审核等步骤,请查阅其他文档。本文使用的是其中JAVA版接入。

由于微信“封杀”了支付宝支付,支付宝给出了<关于微信公众平台无法使用支付宝收付款的解决方案说明>解决方案,本文介绍如何接入。

文档中,主要有用的是2个文件pay.html、ap.js.另外两个demo_get.htm,demo_post.htm是测试用例。


接入参考demo_get.htm,主要遇到的问题:

1.代码pay.htm有小错误
2.引入路径问题
3.如何引入ap.js和参数加引号
4.URLEncoder


解决:

1.代码pay.htm有错:

第四行修改为<meta charset="utf-8"/>

2.引入路径问题:

如果是使用的JAVA版接入微信,且使用JSP方式生成自动submit的表单内容。那么请在JSP存放的路径拷贝进去pay.html、ap.js两个文件。

3.如何引入ap.js和参数加引号:

如何引入ap.js

   /**
     * 建立请求,以表单HTML形式构造(默认)
     * @paramALIPAY_GATEWAY_NEW 支付宝网关地址
     * @param sParaTemp 请求参数数组
     * @param strMethod 提交方式。两个值可选:post、get
     * @param strButtonName 确认按钮显示文字
     * @return 提交表单HTML文本
     */
    public static String buildRequest(String ALIPAY_GATEWAY_NEW, Map<String, String> sParaTemp, String strMethod, String strButtonName) {
        //待请求参数数组
        Map<String, String> sPara = buildRequestPara(sParaTemp);
        List<String> keys = new ArrayList<String>(sPara.keySet());

        StringBuffer sbHtml = new StringBuffer();
        //添加微信 兼容性
        sbHtml.append("<script type='text/javascript' src='ap.js'></script>");
        sbHtml.append("<form id=\"alipaysubmit\" name=\"alipaysubmit\" action=\"" + ALIPAY_GATEWAY_NEW
                      + "_input_charset=" + AlipayConfig.input_charset + "\" method=\"" + strMethod
                      + "\">");

        for (int i = 0; i < keys.size(); i++) {
            String name = (String) keys.get(i);
            String value = (String) sPara.get(name);

            sbHtml.append("<input type=\"hidden\" name=\"" + name + "\" value=\"" + value + "\"/>");
        }
        
        //submit按钮控件请不要含有name属性
        sbHtml.append("<input type=\"submit\" value=\"" + strButtonName + "\" style=\"display:none;\" onclick=\"sendTo()\"></form>");

        String prestr = createLinkStr(sPara);
        String str = ALIPAY_GATEWAY_NEW + prestr;
        sbHtml.append("<script>function sendTo(){"
        		+ "_AP.pay(\""+ str +"\");"
        		+ "};sendTo();</script>");
/* 		sbHtml.append("<input type=\"submit\" value=\"" + strButtonName + "\" style=\"display:none;\"></form>");
        sbHtml.append("<script>document.forms['alipaysubmit'].submit();</script>");*/
        return sbHtml.toString();
    }
    
    public static String createLinkStr(Map<String, String> params) {

        List<String> keys = new ArrayList<String>(params.keySet());
        Collections.sort(keys);

        String prestr = "";

        for (int i = 0; i < keys.size(); i++) {
            String key = keys.get(i);
            String value = params.get(key);
        	try {
				value = URLEncoder.encode(value, AlipayConfig.input_charset);
			} catch (UnsupportedEncodingException e) {
			}
            if (i == keys.size() - 1) {//拼接时,不包括最后一个&字符
                prestr = prestr + key + "=" + value;
            } else {
                prestr = prestr + key + "=" + value + "&";
            }
        }

        return prestr;
    }

代码片段  + "_AP.pay(\""+ str +"\");" 中 str 变量两侧要有 \" ,不光是str变量要是字符串,还要用引号包起来。
4.URLEncoder
createLinkStr方法是拼装字符串的作用,拼装的同时,要为每个value都进行URLEncoder.encode


浅谈微信内置浏览器调用支付宝支付完整教程《1》 项目背景: 二次开发微信公众号,需要接入支付宝支付,调用支付宝app 阅读详情

相关推荐

Grok国内可用吗?官方API接入与替代方案实战指南

大语言模型(LLM)的本地化接入是当前企业AI落地的核心议题。Grok作为xAI推出的高性能闭源模型,其核心价值在于实时联网检索、长上下文理解与专业领域推理能力。然而受区域运营策略与合规限制,Grok未在中国大陆开放官方订阅服务,所谓‘Grok会员充值’实为语义陷阱。技术上,Grok并非独立App,而是深度集成于X平台的智能副驾驶;商业上,其权限依附于X Premium订阅体系,支付与地理围栏双重锁定。对国内用户而言,真实可行路径包括:通过官方Grok-3 API直连调用(需国际支付)、复现Grok风格的开

weixin_33688840的博客 659

微信公众号支付宝跳转浏览器支付.zip

解决在公众号中调起支付宝支付跳转浏览器的问题。使用方法:將ap.js 和pay.html引入到项目中,将需要跳转的支付宝支付地址传入pay.html中的code_url即可

收款神器!解读聚合收款码背后的原理,你都知道吗?

微信/支付宝收款码大家应该不会陌生,线下小微商户收款大多使用这个,就比如下图。 这种收款方式很方便,微信支付宝后台申请开通,然后还可以免费申请相关物料。 不过这种方式用户体验其实不是很好,之前有好几次拿出支付宝,却扫了微信支付码。 另外,这种个人的收款码通常还有单日收款的上限,比如支付宝单日上限 500元。 有了需求,自然会有聪明人人想到解决方案,于是有了聚合收款码产品解决方案,如下图。 个收款码,支持多种客户端,主流是微信支付宝,现在常见还会支持银联,QQ 等。 用户选择任支持

weixin_45820912的博客 2229

微信浏览器调用支付宝浏览器打开

博文中资源

微信浏览器打开支付宝支付页面

最近遇到了点小难题 微信浏览器 默认把支付宝正式网关屏蔽了,怎么才能在微信浏览器打开正式的支付宝支付页面呢, 答案很简单,用实现frame.  主要做法 把发送给支付宝的url镶嵌在frame的src上,就完全可以了

PrayFor丶Zx的博客 1万+

判断是微信内置浏览器还是支付宝内置浏览及微信/支付宝打开的页面退回到微信/支付宝

首先我们需要,判断当前用户是从微信或者支付进入的页面; var isAliOrWx = function() { var typeBower = ''; var browser = { versions: function() { var u = navigator.userAgent, app = navigator.appV...

John_jian_yo的博客 4220

uniapp开发微信公众号(支付宝支付)

目录

Jdoit CW的博客 2211

Vue项目中微信公众号调用支付宝接口被屏蔽的解决方案(全)

支付宝官网给出了常规的解决方案,链接如下: https://docs.open.alipay.com/203/105285/ 、添加alipay.vue页面 需要将alipay.htm转换成个vue页面,具体如下: <template> <div> <div class="J-weixin-tip weixin-tip" ref="myWei...

岁末zzz的博客 1743

Mpx框架实战:套Vue语法代码搞定微信支付宝、H5多端开发

小程序生态的蓬勃发展让多端兼容成为前端团队绕不开的课题。跨端开发的核心挑战在于如何减少重复实现,同时保留原生平台能力。Mpx作为基于类Vue语法的开源框架,通过编译原理将同套源码输出到微信支付宝、百度、抖音等小程序及H5平台,从机制上解决了多端维护成本高的问题。它支持响应式数据、组件化、状态管理和TypeScript,并借助条件编译与构建优化,让中大型项目也能稳定落地。无论是新项目选型还是原生小程序重构,Mpx都为团队提供了条兼顾开发体验与工程效率的路径。从环境准备开始,逐步演示创建项目、多端编译、功

weixin_34226706的博客 446

支付宝小程序从零跑通:input只读、四级联动与调试实战

在小程序开发领域,跨端与多端适配是开发者绕不开的工程难题。无论是从微信小程序迁移还是直接上手新平台,组件语法、样式文件、API命名乃至审核机制都存在隐性差异,而真实项目中的表单交互与复杂级联选择更是对数据驱动能力的直接考验。本文从支付宝小程序的基础工程结构讲起,剖析了只读字段的正确实现方式,并通过四级联动案例拆解了嵌套数据与动态列更新的实现原理;针对uniapp跨端编译支付宝小程序失败的常见场景,也给出了从编译日志到真机调试的系统排查链路。理解这些通用技术价值与实际应用场景,能帮助开发者少走弯路,快速建立整

weixin_34160277的博客 402

解决微信中无法使用支付宝付款和弹出“长按地址在浏览器打开”的解决办法

解决微信中无法支付宝支付问题,和弹出长按地址在浏览器打开

微信中点击按钮弹出在外部浏览器打开提示代码

微信中是不需要下载腾讯外的任何应用或文件的,使用此代码可实现,在微信中点击按钮,弹出个指向右上角的提示提示用户点击右上角按钮,选择在外部浏览器打开

人见人爱!收款码背后的原理是什么?

往期热门文章: 1、《往期精选优秀博文都在这里了!》 2、这么设计,Redis 10亿数据量只需要100MB内存 3、当Docker遇到Intellij IDEA,再次解放了生产力~ 4、闲鱼靠什么支撑起万亿的交易规模? 5、你的Redis为什么变慢了? 今天跟大家分享下聚合收款码的支付原理,这也是我这大半年来直在做的项目。 微信/支付宝收款码大家应该不会陌生,线下小微商户收款大多使用这个,就比如下图。 这种收款方式很方便,微信支付宝后台申请开通,然后还可以免费申请相关物料。 不

徐刘根的博客 2306

微信小程序入门开发超详细笔记()

文章目录1 引入1.1 小程序的应用1.2 小程序的介绍1.3 市场分类1 小程序2 webapp3 混合app4 原生app1 ios2 android3 react-native2 开发2.1 准备1 官网注册登录2 工具下载2.2 入门小程序1 创建2 创建成功3 开发项目结构与vue对比4 基本创建结构创建5 基本使用1 插值表达式2 属性绑定3 事件使用点击事件输入框事件4 流程语句5 显示和隐藏6 循环语句7 属性设置和获取8 tabbar使用9 路由的使用组件式路由1 可返回2 不能返回3 路

layxing27的博客 3528

微信小程序】微信小程序开发环境搭建:创建uni-app项目

通过本文的介绍,你应该已经成功安装并配置了 HBuilderX,为使用 uni-app 开发微信小程序做好了准备。接下来,你可以开始编写你的第个小程序项目,探索更多有趣的功能和特性。祝你开发顺利,创造更多优秀的作品!

墨夶的博客 1693

uni-app - 全端兼容 Steps 步骤条组件(支持绑定点击事件、颠倒文字位置、自定义样式)解决 uview 组件库的 Steps 步骤条无法绑定点击事件且不兼容微信小程序,详细教程组件插件源码

uni-app官方的步骤条组件设置active-color无效,uniapp插件steps步骤条组件给每个步骤绑定点击事件官网Steps步骤条插件怎么让文字在下方显示uniapp步骤条组件uni-app解决uview组件库的Steps步骤条组件不兼容微信小程序且无法绑定每项的点击事件,uviewSteps步骤条不兼容小程序,uni-appuni-steps步骤条组件怎么绑定点击事件,uni-steps步骤条怎么自定义样式插槽,uviewSteps步骤条组件怎么去掉步骤图标后面的白色背景小块

🏆 前端领域优质创作者 6085

收款神器!解读聚合收款码背后的原理

作者|楼下小黑哥来源 |程序通事(ID:US_stocks)头图 | CSDN下载自视觉中国今天跟大家分享下聚合收款码的支付原理,这也是我这大半年来直在做的项目。微信/支付...

CSDN资讯 2949
上一篇: 03_Data Binding数据绑定
下一篇: 在微信中如何接入支付宝的提示打开浏览器样式:方法二简易方法
KindredPP
博客等级 码龄15年 12粉丝 3原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值