微信支付之异步通知签名错误

开发过程中可能遇到 异步通知页面签名无法通过;那么原因何在呢?

我直说我碰到的这个

  先看我错误时候微信回馈的xml

<xml><appid><![CDATA[wx3a542a6f094310c5]]></appid>
<bank_type><![CDATA[CFT]]></bank_type>
<cash_fee><![CDATA[1]]></cash_fee>
<fee_type><![CDATA[CNY]]></fee_type>
<is_subscribe><![CDATA[Y]]></is_subscribe>
<mch_id><![CDATA[1225931602]]></mch_id>
<nonce_str><![CDATA[m8iidgrc2ng2hd25xh3uywhzdtlimt8b]]></nonce_str>
<openid><![CDATA[oc8rujitiX4ghHtvP57WvQQW4-UA]]></openid>
<out_trade_no><![CDATA[wx3a542a6f094310c51425455173]]></out_trade_no>
<result_code><![CDATA[SUCCESS]]></result_code>
<return_code><![CDATA[SUCCESS]]></return_code>
<sign><![CDATA[2573B48A589EACCCADF43AB0F16C711C]]></sign>
<time_end><![CDATA[20150304155325]]></time_end>
<token><![CDATA[oksiyy1424939297]]></token>
<total_fee>1</total_fee>
<trade_type><![CDATA[JSAPI]]></trade_type>
<transaction_id><![CDATA[1005970908201503040024812510]]></transaction_id>
</xml>

正确时候的:

<xml><appid><![CDATA[wx3a542a6f094310c5]]></appid>
<bank_type><![CDATA[CFT]]></bank_type>
<cash_fee><![CDATA[1]]></cash_fee>
<fee_type><![CDATA[CNY]]></fee_type>
<is_subscribe><![CDATA[Y]]></is_subscribe>
<mch_id><![CDATA[1225931602]]></mch_id>
<nonce_str><![CDATA[e824na6v3q0zobi92ahjxwcrfbfzu7fs]]></nonce_str>
<openid><![CDATA[oc8rujitiX4ghHtvP57WvQQW4-UA]]></openid>
<out_trade_no><![CDATA[wx3a542a6f094310c51425864258]]></out_trade_no>
<result_code><![CDATA[SUCCESS]]></result_code>
<return_code><![CDATA[SUCCESS]]></return_code>
<sign><![CDATA[E6855E6EB5A530F09F8720CF01FE40F5]]></sign>
<time_end><![CDATA[20150309093139]]></time_end>
<total_fee>1</total_fee>
<trade_type><![CDATA[JSAPI]]></trade_type>
<transaction_id><![CDATA[1005970908201503090029404065]]></transaction_id>
</xml>

其实最后问题的关键就在于那个token 参数;

问题就出在:回调域名;

$unifiedOrder->setParameter("notify_url","http://www.bsince.com/wxpay/pay/utils/notify_url.php?token=$token");//通知地址

我带了个参数;结果微信就把他好好的放在了xml中;但是签名就是随你怎么走都无法通过。

所以请保证回调参数不要加上任何参数;

时间: 2024-08-10 19:06:35

微信支付之异步通知签名错误的相关文章

微信jssdk config:invalid signature 签名错误 ,问题排查过程

invalid signature签名错误.建议按如下顺序检查: 确认签名算法正确,可用 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign 页面工具进行校验. 确认config中noncestr, timestamp与用以签名中的对应noncestr, timestamp一致. 确认url是页面完整的url,包括GET参数部分. 确认 config 中的 appid 与用来获取 jsapi_ticket 的 appid 一致. 确

微信js sdk invalid signature签名错误 解决。

签名之前用得好好的,突然一个新的站点上去签名错误. 到 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign 做了验证是一样的. 那么问题肯定出在url上面, 看到 微信校验工具写的 接下来对 string1 作 sha1 加密,字段名和字段值都采用原始值,不进行 URL 转义.即 signature=sha1(string1). 好蛋疼,我的url有差别的就是Query 多了个  /  把这个 / 转义一下就通过了...... 官方

asp.net mvc 如何接收支付宝支付接口 异步通知 notify

问题已经得到解决  支付宝的 异步通知被 asp.net 的安全机制给拦截了  返回给支付宝的500错误信息是  A potentially dangerous Request.Form value was detected from the client 解决方法 : [HttpPost, ValidateInput(false)]         public string notify(FormCollection collection) <httpRuntime  requestVali

微信-js sdk invalid signature签名错误 问题解决

如果出现 invalid signature,首先可以确定的是你的签名算法有问题.建议:首先查看微信官方网站给出的解决方案,链接为: http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html 1. invalid signature签名错误 建议按如下顺序检查: 确认签名算法正确,可用 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign 页面工具进行校验

微信支付-公众号支付H5调用支付详解

微信公众号支付 最近项目需要微信支付,然后看了下微信公众号支付,,虽然不难,但是细节还是需要注意的,用了大半天时间写了个demo,并且完整的测试了一下支付流程,下面分享一下微信公众号支付的经验. 一.配置公众号微信支付 需要我们配置微信公众号支付地址和测试白名单. 比如:支付JS页面的地址为 http://www.xxx.com/shop/pay/ 那此处配置www.xxx.com/shop/pay/ 二.开发流程 借用微信公众号支付api(地址 http://pay.weixin.qq.com

WooCommerce 微信支付插件

WooCommerce 是 WordPress 平台上使用最广泛的电子商务插件,也是世界范围内使用量最大的独立电商平台, 我原来对微信支付是有些看不惯的,甚至觉得微信支付应该给申请条件再加上一条:只有姓马的可以申请使用,后来,微信支付变的很快,并且体验也有了不小的提升,加上微信本身的巨量用户资源,所以看起来,微信支付是蛮有前途的,于是,我做了个 WooCommerce 微信支付插件,叫 WeixinPay for WooCommerce (WeixinPay 不中不洋的,不过也算是体现了其强大吧

微信支付签名错误

第一步:检查本地签名程序是否正确 使用签名检查工具,检查签名本地签名程序是否有错误 如果无误,表示程序没有问题,进行下一步API秘钥设置,否则请先修改程序 第二步:API密钥设置 在使用签名检查工具检查没有错误的情况下, 可以确定是API密钥设置出错.微信支付必须保证本地签名使用的key值和在商户平台设置的API密钥一致,请去商户平台 设置API密钥. 设置位置:账户设置-安全设置-API安全

微信支付模式二 统一下单一直提示签名错误

来源:https://www.jianshu.com/p/2195599195e3 我这个项目是用的公司之前的商户信息,但是也把新的公众号进行了支付配置,应该没什么问题了,但是在选择支付方式NATIVE生成二维码支付时一直提示签名错误.所以截取xml进行字段的检查.检查sgin的生成过程,数据都没什么问题.另外使用微信官方的支付sign校验工具进行匹配,将转成的xml填写进去,输入商户的密钥key,居然说签名是正确的. 重点:微信支付接口返回签名错误,使用微信sign校验工具提示签名正确,可以试

微信异步通知出错,behavior原因

微信的异步通知接口应该是能暴漏给外面的,这样微信的服务器才能正常访问你这个接口. 一般在微信里面都需要先获取用户信息,于是在behavior函数里面都有get_code()函数,就是服务号通过access_token换取用户信息例如openid; 但在异步通知接口前不要有get_code(),否则会出错 可以如下过滤 //获取会员的信息 /******非常重要,这里需要过滤到支付的异步通知操作,原因异步通知无法获取用户信息,造成错误******/ $arr = array('notifyurl'