今天写微信支付,后台预支付能拿到所有参数,但前台死活不能调起收银台,用开发者工具调试,参数什么的,没有任何问题,方法也都调用了。折腾良久。

先上代码,以下代码没有调起收银台

<script src="/js/jquery-1.11.3.min.js" type="text/javascript" charset="utf-8"></script>
<script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>//引包
<script>$(function () {window.baseUrl = 'http://' + window.location.host;$.ajax({url: window.baseUrl + '/api/js_config?url=' + encodeURIComponent(location.href.split('#')[0]),async: false,success: function (response) {window.js_config = response.body.js_config;}});wx.config({debug: false,appId: window.js_config.appId,timestamp: window.js_config.timestamp,nonceStr: window.js_config.nonceStr,signature: window.js_config.signature,jsApiList: window.js_config.jsApiList});wx.ready(res => {wx.checkJsApi({jsApiList: ['chooseWXPay'],success: res => {console.log('checked api:', res)},fail: err => {console.log('check api fail:', err)}})})wx.chooseWXPay({timestamp: '${pay_param.timestamp!"error"}',nonceStr: '${pay_param.nonceStr!"error"}',package: '${pay_param.package!"error"}',signType: '${pay_param.signType!"error"}',paySign: '${pay_param.paySign!"error"}',success: function (res) {alert("支付成功");setTimeout(function () {location.href = "/purchase_coupon/couponInfo/${cid}";}, 1000);},cancel: function (res) {alert("取消支付");},fail: function (res) {alert("支付失败");}})})
</script>

看了官方文档,也查了很多帖子,发现调不起收银台(什么反应都没有,也无错误提示),一般是wx.config 没有配置,或者没有配置好的问题,但代码中显然已经配置,配置也无问题,后发现是加载顺序问题,wx.config 未配置完成就走了 wx.chooseWXPay。 故改变代码如下,等待wx.config 加载完成后 再去调起支付,调起收银台成功。

<script src="/js/jquery-1.11.3.min.js" type="text/javascript" charset="utf-8"></script>
<script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>//引包window.baseUrl = 'http://' + window.location.host;$.ajax({url: window.baseUrl + '/api/js_config?url=' + encodeURIComponent(location.href.split('#')[0]),async: false,success: function (response) {window.js_config = response.body.js_config;}});wx.config({debug: false,appId: window.js_config.appId,timestamp: window.js_config.timestamp,nonceStr: window.js_config.nonceStr,signature: window.js_config.signature,jsApiList: window.js_config.jsApiList});wx.ready(function () {wx.chooseWXPay({timestamp: '${pay_param.timestamp!"error"}',nonceStr: '${pay_param.nonceStr!"error"}',package: '${pay_param.package!"error"}',signType: '${pay_param.signType!"error"}',paySign: '${pay_param.paySign!"error"}',success: function (res) {alert("支付成功");setTimeout(function () {location.href = "/purchase_coupon/couponInfo/${cid}";}, 1000);},cancel: function (res) {alert("取消支付");},fail: function (res) {alert("支付失败");}})});

微信JSAPI支付调不起收银台问题相关推荐

  1. 微信JSAPI支付对接流程及支付接口设计

    文章目录 前言 一.JSAPI支付场景及逻辑 二.开发步骤 1.设置支付目录 2.设置授权域名 3.业务流程 三.代码设计 1. 支付页面 2. Controller 3. JS调起支付 4. 工具类 ...

  2. php微信jsapi支付小结,ThinkPHP接入微信支付 - JSAPI支付

    一.支付准备 二.获取用户openid 首先,到微信公众平台后台 - 设置 - 网页授权域名(别忘了添加开发者) // 在头部引入WechatPubService.php文件,见附录一 use app ...

  3. 微信JSAPI支付 跟 所遇到的那些坑

    首先介绍一下我在调用微信支付接口使用的是 weixin.senparc SDK,非常方便好用开源的一个微信开发SDK. weixin.senparc SDK 官网:http://weixin.senp ...

  4. C# .NETMVC 微信JSAPI支付

    C# .NET MVC微信JSAPI支付 经过本人不断翻找资料和百度终于结合一些大佬的经验和思路弄出来一个MVC的微信支付了. 再弄微信支付之前我们需要先有一个商户号,并且开通了微信支付的JSAPI支 ...

  5. Java 微信jsapi支付

    spring boot微信jsapi支付 话不多说,撸起袖子就是干,下面上源码 pom.xml 配置文件 resources/wx.properties 配置类 service(WechatPaySe ...

  6. 微信JSApi支付~订单号和微信交易号

    返回目录 谈谈transactionId和out_trade_no 前一篇微信JSApi支付~坑和如何填坑文章反映不错,所以又写了个后篇,呵呵. 每个第三方在线支付系统中都会有至少两类订单号,其一为支 ...

  7. 关于微信JSAPI支付成功后,点击完成后没有返回值并且页面被自动关闭问题

    微信JSAPI支付成功后,点击完成后没有返回值并且页面被自动关闭 简介 解决方式 错误的处理方式 总结 简介 最近很多人可能都遇到一个问题,在使用微信JSAPI支付成功后,不走成功的回调方法,只有支付 ...

  8. JAVA+微信JSAPI支付

    JAVA+微信JSAPI支付 引入依赖 获取请求ip 组装微信支付请求 回调处理 引入依赖 <dependency><groupId>com.github.binarywang ...

  9. php接入微信JSAPI支付,微信内拉起支付,基于thinkPHP框架 WeChatDeveloper支付类包

    文章:php接入微信支付,扫码支付和H5支付(非微信浏览器),基于thinkPHP框架 WeChatDeveloper支付类包 踩坑指南 文章:php快速接入支付宝即时支付,PC网站支付和手机网站支付 ...

最新文章

  1. Dlib简介及在windows7 vs2013编译过程
  2. ASP.NET AJAX示例程序:实现IDragSource和IDropTarget接口将商品拖放至购物车中
  3. mysql深入使用教程_深入mysql基础知识的详解
  4. 比较有用的sql语句
  5. [置顶] 2013腾讯编程马拉松初赛第4场(3月24)(HDU 4520 HDU4521 HDU4522 HDU4523 HDU4524)...
  6. 【绿色版】飞鸽传书2011绿色版
  7. 【Java】国外大神总结的 10 个 Java 编程技巧!
  8. mysql管理密码修改及管理权限设定(zz)
  9. matlab 保存变量
  10. 软件测试周刊(第68期):解决棘手问题的最上乘方法是:静观其变,顺水推舟。
  11. 车牌识别——合成车牌数据
  12. xxl-job 带参数执行和高可用部署
  13. c加加语言complex的用法,complex的用法总结大全
  14. ACL2021_Enhancing Entity Boundary Detection for Better Chinese Named Entity Recognition
  15. 聊一下测试工程师的招聘
  16. 显示硬件发展与视频开发系列(6)----显示标注与视频处理单元(2):VPU
  17. 已更新或删除的行值要么不能使该行成为唯一行,要么改变了多个行,如何解决
  18. 微信红包封面小程序源码-逢年过节非常火爆
  19. kafka性能测试、性能分析与性能调优
  20. 朱西产:智能网联汽车与未来出行变革

热门文章

  1. firewalld 指定IP访问某端口
  2. 进程、线程与协程傻傻分不清?一文带你吃透!
  3. C语言-数组-读入学生信息统计各分数段人数并打印
  4. sam卡和sim卡区别_关于PSAM卡、SAM卡、SIM卡的特征和区别
  5. 49个excel常用技巧(四)
  6. 横河变送器EJA110E-JMS4J-919EA
  7. 第05课:Redis 实际应用中的异常场景及其根因分析和解决方案
  8. 大数据让电商实现精准营销
  9. FOR ALL ENTRIES IN的用法
  10. SSL-ZYC 最小步数