url带#号,微信支付那些坑

现在前端很多框架的前端路由都带#号,主要为了做到无刷新跳转页面。

在微信公众号做微信支付时,配置的支付路径比如是http://www.eee.com/#/order,在调微信支付的方法时错误信息是‘URL未注册’。

我的解决方案是,写一个专门做为微信支付的页面,ajax请求后台返回需要调取微信支付的数据(签名等信息),然后把这些信息暂存起来(可以用h5的缓存,记得支付完清掉,如果用node,可以用node的缓存,以自己的实际项目方便)。跳转到支付的页面

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body></body>
<script type="text/javascript">
document.addEventListener(‘WeixinJSBridgeReady‘, function onBridgeReady() {
var request = {};
if (sessionStorage && sessionStorage.wechatPayRequest) {
request = JSON.parse(sessionStorage.wechatPayRequest);
}
WeixinJSBridge.invoke("getBrandWCPayRequest", {
appId : request.appId,
timeStamp : request.timeStamp,
nonceStr : request.nonceStr,
"package" : request.packageInfo,
signType : request.signType,
paySign : request.paySign
}, function(res) {
sessionStorage.wechatPayRequest = ‘‘
if ("get_brand_wcpay_request:ok" == res.err_msg) {
// 支付成功
}else {
// 支付失败
}
});
})
</script>
</html>

一个空的页面即可,此处package是关键字,所以需要后台返回一个新的字段代替package。

然后处理支付成功和支付失败的回调

再把这个页面在当前域名下配一个路径,比如当前项目域名是http://www.eeeee.com,就把页面域名指定为http://www.eeeee.com/pay/wechat

然后在微信公众号的后台把支付路径配置为http://www.eeeee.com/pay/

这个方法有个缺点,就是调取支付要跳转页面,用户体验不好,支付完成还要再跳转到相应的页面。

时间: 2024-10-23 15:41:31

url带#号,微信支付那些坑的相关文章

公众号微信支付

1.概要 公众号是以微信用户的一个联系人形式存在的,支付是微信服务号的核心一环. 本篇主要介绍微信支付这一功能,避免大家再跳微信支付的坑. 1.1 关于Magicodes.WeChat.SDK MAGICODES.WECHAT.SDK为心莱团队封装的轻量级微信SDK,现已全部开源,开源库地址为:https://github.com/xin-lai/Magicodes.WeChat.SDK 更多介绍,请关注后续博客. 2.微信公众号支付 用户已有商城网址,用户通过微信消息.微信扫描二维码.微信自定

一次痛苦又甜蜜的微信支付踩坑之旅

凡是和钱打交道的事,没有一样是容易的.这是我第一次接触微信支付,发现网上还是有很多同学在求助,XXX了怎么办?XXX是什么情况?为了帮助更多的小伙伴脱离"苦海",我决定写下这次的踩坑之旅,给更多的人帮助. 介绍 微信支付方式分为刷卡支付.公众号支付.扫码支付.APP支付.H5支付.小程序支付. 先从应用场景来各自说一说,这样,能够最快的判断出应该选择哪一种支付. 刷卡支付:使用扫描设备(扫描枪)多见于超市.便利店使用 公众号支付:嵌入公众号的H5页面 扫码支付:用户打开"微信

公众号微信支付开发

一.前期准备工作 服务号认证,申请商户号 二.账号配置 1.公众号接口配置 由于调用支付接口时需要获取用户基本信息,需要在公众号配置授权回调页面域名. 登录公众号后点击接口权限,找到网页授权获取用户基本信息,点击右侧的修改链接,位置格式如下 2.配置JS接口安全域名 点击公众号配置,在右侧窗口点击开发设置,找到JS接口安全域名,点击对应的修改链接,格式如下 3.设置支付授权目录 点击微信支付链接,切换到开发设置标签,配置授权目录,配置如下 注:授权目录的链接大小写敏感,请准确填写 4.配置商户安

iOS SDK微信支付填坑!(跳转微信支付,只有确定按钮)

这两天接微信支付的SDK,遇到了一个天坑,微信文档里面不写清楚,demo里面也没有,参数少了一个无法支付啊有没有!有没有!有没有! 最后调试成功,得知真相的我眼泪掉下来... 先让我们看看是什么情况: --------------------------------------------------------我是分割线-------------------------------------------------------- 预支付订单那块就不说了,基本上都没问题,服务器会返回一个pre

微信支付的坑 返回值 -1

最近在用android接入微信支付.. 之前的包没问题,发现这段时间突然不行了... 于是调试之. 1.开始用的支付配置参数估计有错误,然后支付失败, 获取token值 ,和 prepayId 都是正常的,等在回调支付的文件时候返回错误码-1,其他的参数 都为null 2.使用正确的 微信 appId ,key 和支付的 key 参数,然后进行打包,运行-- 依然结果 一样,前两项都OK,第三步支付界面启动不了,回调返回错误码-1. 疑惑中 --  疑惑中-- 在考虑 1)是否微信sdk 更新了

asp微信会员卡管理系统,超小的源码_带asp微信支付源码

超微小的微信会员系统,可以在此基础上做无限开发,目前只有会员注册,获取微信用户信息入库,会员列表,微信支付,支付流水明细,判断是否登录,判断是否支付,如果支付了的会员则列出此会员的详细信息,id号,手机,姓名,微信名,openid,头像,帐户余额等,可有效帮助您后期开发调用,只有这几个基础功能,建立在我的cms系统上,超微小的开放源码,您拿回去可以在此基础上开发所有微信高级功能,今天免费提供下载,庆祝我39岁生日,原价300的代码!!http://ly.ftphn.com/wx.rar 原文地址

微信支付的坑(jsapi)

具体流程网上都有,主要说一下前端开发者应该主要的,简单的说就两步. 1,获取所需要的参数信息(和后台开发沟通) getWxPayInf() { PayApi.GetWxPay({ money: Math.abs(+this.payNumber), Title: this.title }) .then(res => { if (res.ErrorCode == 1) { if (typeof WeixinJSBridge == "undefined") { if (document

iOS集成微信支付各种坑收录

统一下单的参数要拼接成XML格式,使用AFN请求时,要对参数转义,直接传入字典给AFN,无法识别(这个接口,微信demo中并没有提供示例) AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; //这里传入的xml字符串只是形似xml,但是不是正确是xml格式,需要使用af方法进行转义 manager.responseSerializer = [[AFHTTPResponseSerial

大商创微信公众号微信支付失败报错

支付失败链接 支付失败 https://XXX/mobile/onlinepay/index/index/order_sn/2018042715565982911.html 支付成功 https://XXX/mobile/index.php?m=onlinepay&order_sn=2018042714596408963 原文地址:https://www.cnblogs.com/behindman/p/8962996.html