微信公众号中直接发起支付

此前开发更具官方文档一直在使用,wx.chooseWXPay方法完成支付,WeixinJSBridge最开始开发微信的时候也有使用,但是经常出问题,支付不能发起,当时查找好的文章,基本都在说官方在逐步抛弃改方法,所以后续开发使用了,wx.chooseWXPay,个人感觉次方式繁琐,要进行以下几步:
1、引用js库<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
2、通过config接口注入权限验证配置
3、通过ready接口处理验证
4、之后再微信下单
5、完成自己的支付业务。
(参考链接:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115
单纯的支付感觉没必要。

最近项目中使用了第三方代收款平台的API接口,和对方对接的时候,在完成对方接口的环境、预下单程序后,在调取微信支付的时候,发现官网的提供的接口是WeixinJSBridge!!!(也许太久不关注信息的更新了),至此整理一下这点内容。供参考,注:以官方的为准!

1、官方参考地址

https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6

2、接口参数说明

在微信浏览器里面打开H5网页中执行JS调起支付。接口输入输出数据格式为JSON。

注意:WeixinJSBridge内置对象在其他浏览器中无效。微信调试工具不支持,会提示函数未定义。

列表中参数名区分大小,大小写错误签名验证会失败。

如图:

回调函数返回标识

3、Demo实例(来自官方)

注:所需的参数值来自微信的统一下单接口;此参数我使用的是全局参数存取参数值。

function onBridgeReady(){WeixinJSBridge.invoke('getBrandWCPayRequest', {"appId":"wx2421b1c4370ec43b",     //公众号名称,由商户传入     "timeStamp":"1395712654",         //时间戳,自1970年以来的秒数     "nonceStr":"e61463f8efa94090b1f366cccfbbb444", //随机串     "package":"prepay_id=u802345jgfjsdfgsdg888",     "signType":"MD5",         //微信签名方式:     "paySign":"70EA570631E4BB79628FBCA90534C63FF7FADD89" //微信签名 },function(res){     if(res.err_msg == "get_brand_wcpay_request:ok" ) {}     // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回    ok,但并不保证它绝对可靠。 });
}
注:此处是对事件的检测及注册,保证支付环境

if (typeof WeixinJSBridge == "undefined"){if( document.addEventListener ){document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);}else if (document.attachEvent){document.attachEvent('WeixinJSBridgeReady', onBridgeReady); document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);}
}else{onBridgeReady();
}

注:简单尝试修改 onBridgeReady()函数为带参数,为了接收动态指定参数,未成功。之后未深入研究。如果有人修改成功,记得留言给我哦。

另附一份JSP代码共参考:

 WeixinJSBridge.invoke('getBrandWCPayRequest',{"appId" : "<%=appId%>","timeStamp" : "<%=timeStamp%>", "nonceStr" : "<%=nonceStr%>", "package" :"<%=packageValue%>","signType" : "MD5", "paySign" : "<%=paySign%>"},function(res){WeixinJSBridge.log(res.err_msg);// alert(res.err_code + res.err_desc + res.err_msg);if(res.err_msg == "get_brand_wcpay_request:ok"){window.location.href = "http://wx.umebox.net/wxpay/pay1.jsp?id=<%=keyvalue1%>&Icum=<%=openid%>&ddh=<%=ddh%>";alert("微信支付成功!");}else if(res.err_msg == "get_brand_wcpay_request:cancel"){alert("用户取消支付!");}else{alert("支付失败!");}});

微信公众号支付WeixinJSBridge相关推荐

  1. yii2嵌入微信公众号支付

    序言 随着微信被越来越多的人使用,微信商城成为如今的热门.每一个商城都需要有自己的支付方式,微信商城也不例外.微信公众号支付就是微信商城的一种支付方式,微信支付随着微信的推广使用也被广泛应用.今天我主 ...

  2. js如何调用h5的日期控价_微信公众号支付H5调用支付解析

    最近项目需要微信支付,然后看了下微信公众号支付,虽然不难,但是细节还是需要注意的,用了大半天时间写了个demo,并且完整的测试了一下支付流程,下面分享一下微信公众号支付的经验. 一.配置公众号微信支付 ...

  3. vue 微信公众号支付接口_基于vue的h5项目之支付宝支付与微信支付

    本文仅记录基于vue开发h5项目过程中使用支付宝和微信支付过程中的重点与槽点,仅为前端部分,如有疏漏不正之处,请于文末评论探讨.注意:标红部分灰常重要,仔细阅读官方文档非常重要,耐心非常重要,细心非常 ...

  4. h5通过php微信支付宝支付,用H5调用支付微信公众号支付的解析

    这篇文章主要为大家详细介绍了微信公众号支付H5调用支付,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近项目需要微信支付,然后看了下微信公众号支付,虽然不难,但是细节还是需要注意的,用了大半天时 ...

  5. php调用微信公众号支付接口,Thinkphp微信公众号支付接口

    本文实例为大家分享了Thinkphp微信公众号支付接口,供大家参考,具体内容如下 第一步 先把文件夹的那两个图片 配置成一样的路径 除了域名要改 其他保持一致. 第二步  把 Weixinpay 这个 ...

  6. 微信支付整理 (微信公众号支付)

    由于本人愚钝,在最初接触微信支付时遇到很多坑.在第一次将微信支付调试成功之后在网上炫耀般的留了一个qq(24xxxx)号,以便帮助到更多的人.由此便接触到了大概100多号人的qq询问,期间也拒绝了很多 ...

  7. 微信公众号支付开发手记(node)

    微信支付 前言 总结一下最近业务开发中对微信公众号支付的开发过程,微信支付的开发前提是已经具备可上线微信公众号开发的基础上进行的,如果你的开发阶段目前停留在起步,建议参考这篇文章开始. 好了,来聊一聊 ...

  8. 支付宝H5,微信H5,微信公众号支付回调

    业务场景 应公司需求,需要在项目中接入支付宝h5支付,微信h5支付和微信公众号支付功能,本编主要讲述支付踩坑和h5支付后跳转的回调问题 微信h5支付 微信h5支付时需要校验下单域名,微信从refere ...

  9. 关于微信公众号支付接口开发遇到的奇葩问题,始终返回get_brand_wcpay_request:fail。

    最近公司开发网站针对微信公众号的支付功能. 由于公司目前的这个项目网站是使用asp代码开发的,但是微信官方给出的demo中是没有asp版本的,所以楼主只有下载demo的php版本作为参考写了一个asp ...

最新文章

  1. JavaScript PHP模仿C#中string.format效果
  2. 毕业设计出现的一个严重错误----文件不能相互引用
  3. oracle 动态sql列转行_SQL优化笔记分享:34条实用经验可别错过!
  4. sql的error如何查看是什么故障_什么是420mA控制回路?常见故障如何排查?
  5. mybatis模糊查询不同写法
  6. css样式中如何设置中文字体?
  7. java 字符串比较 == equals_Java在比较字符串的时候,equals 与== 完全一样呀?
  8. 大型集团企业云管平台建设参考架构
  9. 音视频之——FFmpeg教程(二)——Windows10下搭建nginx-rtmp流媒体服务器
  10. odoo10参考系列--ORM API 一(记录集、环境、通用方法和创建模型)
  11. wxPython:当密码账号输入正确,登录界面消失并显示主界面
  12. 阿里合伙人名单曝光;百度网盘回应“不买会员限速”;库克:不担心苹果在华表现 | 极客头条...
  13. Unity 游戏框架搭建 (五) 简易消息机制
  14. java swing 组件渲染过程,swing组件介绍
  15. dynamips虚拟服务:找不到指定设备
  16. Android 抓包工具
  17. gamit数据处理—5.遇到的问题
  18. word流程图怎么使箭头对齐_word 流程图 怎么把箭头对整齐啊?
  19. 21.pgsql中的执行计划explain
  20. upupoo为什么服务器维护中,upupoo怎么隐藏桌面图标 只需两步轻松隐藏

热门文章

  1. bi导入数据失败 power_如何用PowerBI导入网页数据
  2. 历时7天,四名学生将《水浒传》搬到线上!
  3. linux R语言 安装
  4. Google官方网络框架Volley实战——QQ吉凶测试,南无阿弥陀佛!
  5. 新年了,5G手机芯片,到底买谁?
  6. Windows XP 系统自带扑克牌资源动态链接库cards.dll逆向分析笔记
  7. 简练软考知识点整理-规划风险管理
  8. html+css+js实现的前端模板
  9. 微信URL Scheme码+长链接转短链接+短链接通过h5页面跳转到微信小程序
  10. 中文字幕人工翻译 Lynda-After Effects CC 2019 Essential Training Motion Graphics