支付宝回调接口 isSign=false 怎么样解决

.Net技术 码拜 9年前 (2016-03-06) 1657次浏览
是官方网站下载的例子,只是把合作身份者ID和商户的私钥配置了一下其他的全部无改动
但是每次回调的时候参数都可以正常接收,但是isSign=false,网上找了下全是PHP的例子,有没有C#的遇到过同样问题的?

               
                Notify aliNotify = new Notify();
                bool verifyResult = aliNotify.Verify(sPara, Request.Form["notify_id"], Request.Form["sign"]);
        /// <summary>
        ///  验证消息能否是支付宝发出的合法消息
        /// </summary>
        /// <param name="inputPara">通知返回参数数组</param>
        /// <param name="notify_id">通知验证ID</param>
        /// <param name="sign">支付宝生成的签名结果</param>
        /// <returns>验证结果</returns>
        public bool Verify(SortedDictionary<string, string> inputPara, string notify_id, string sign)
        {
            //获取返回时的签名验证结果
            bool isSign = GetSignVeryfy(inputPara, sign);
            //获取能否是支付宝服务器发来的请求的验证结果
            string responseTxt = "true";
            if (notify_id != null && notify_id != "") { responseTxt = GetResponseTxt(notify_id); }
	    else { responseTxt = "false"; }
            //判断responsetTxt能否为true,isSign能否为true
            //responsetTxt的结果不是true,与服务器设置问题、合作身份者ID、notify_id一分钟失效有关
            //isSign不是true,与安全校验码、请求时的参数格式(如:带自定义参数等)、编码格式有关
            if (responseTxt == "true" && isSign)//验证成功
            {
                return true;
            }
            else//验证失败
            {
                return false;
            }
        }
解决方案

20

你这几个值怎么来的?下面链接里的类库能否可以直接使用?
http://blog.csdn.net/starfd/article/details/43487587

5

LZ这个问题有解决了么? 貌似本人也遇到同样的问题。可本地测试 开始一切都正常的。放线上去就不可以了?求指导啊

5

本人也碰到同样的问题了。求指导决。

20

这种问题直接联系支付宝

50

该回复于2016-03-17 15:58:15被管理员删除

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明支付宝回调接口 isSign=false 怎么样解决
喜欢 (0)
[1034331897@qq.com]
分享 (0)