微信支付jsapi getBrandWCPayRequest回调函数‘不执行’

JavaScript08

微信支付jsapi getBrandWCPayRequest回调函数‘不执行’,第1张

一路上跟后端都很顺利,最后支付都成功了,问题出来了,按照官网写的方式,回调函数没有执行

搞了半天,网上好多都说是触发支付函数要在前面加上javascript:+你自己调起支付的函数()+return false

可我是直接在js中拿到后台返回的数据后由js直接触发的,没法这么搞

随后我尝试吧alert换成window.location.href = "http://www.baidu.com"

结果支付完,点击完成就直接跳转到百度了,,,

原来不是回调不执行,而是alert没出来啊,害我一通瞎忙活,也不知道为什么alert在手机上看不到效果,我用的iphone,不知道安卓机能看到alert不能

可以建议你,把发送给微信服务器统一下单的参数包与你js调起微信支付所发送的参数包对比一下,大小写也看看,肯定哪里出问题了,我以前接微信支付的时候,遇到很多问题,后来查看下来,基本上都是自己这边不对。

根据官方微信支付的 文档

和流程图

支付过程可以分为 后端流程 和 前端流程

根据经验 签名错误是xml的加密出错了

这里贴出一个提交统一下单的原始xml

这里说明一下: 经过亲测 spbill_create_ip , notify_url 这两个参数即使是写死的也不是导致 签名错误 的原因

检查商户信息,也就是商户号 mch_id 和商户的 key (这里需要注意 key ,是申请微信支付成功后,腾讯发给申请者邮件里面的秘钥,要想此秘钥生效还需要安装 操作证书 )