• 支付宝集成问题(.net篇)


    最近在网站集成支付宝时,发现了两个比较容易出现的问题,网站找了一下也没有太多相关这方面的答案,我把我的解决方法贴出来。希望可以帮到需要的朋友:

        第一种情况:无法解析远程主机www.alipay.com
        第二种情况:MD5解密出错

        第一种情况,主要出现在虚拟主机上的情况比较多。一开始以为是DNS有问题,但事实上DNS没有问题。后来发现造成这个原因是因为支付宝的类中,使用HttpWebRequest 会在服务端向支付宝网关发送请求数据,但一般服务器对浏览器的安全设置比较高。造成发送不成功,这个时候只需要把网址加入信任域就可以了。方法很简单:通过浏览器访问一下www.alipay.com 然后加入信任域就可以了。最好加*.aplipay.com。这个是解决办法之一,希望可以帮助到你。

        第二种情况,MD5解密出错,解决这个问题找了好久都没有发现,实在没有办法只好写了个日志文件,通过对比才发现问题出在这儿。在支付宝的构造待md5摘要字符串时:

          NameValueCollection coll = Request.QueryString;

          String[] requestarr = coll.AllKeys;

      

                for (i = 0; i < Sortedstr.Length; i++)
                {
                    if (Request.Form[Sortedstr[i]] != "" && Sortedstr[i] != "sign" && Sortedstr[i] != "sign_type")

                    //支付宝只排除了自身参数,很有可能还有其他的参数,在集成到DISCUZ!NT中时就发现了还有一个有关模板的参数,也要排除掉。
                    {
                        if (i == Sortedstr.Length - 1)
                        {
                            prestr.Append(Sortedstr[i] + "=" + Request.QueryString[Sortedstr[i]]);
                        }
                        else
                        {
                            prestr.Append(Sortedstr[i] + "=" + Request.QueryString[Sortedstr[i]] + "&");

                        }
                    }
                }

    上面的问题你有没有碰到呢!我就碰到了!

  • 相关阅读:
    《软件工程课程总结》
    课后作业-阅读任务-阅读笔记-4
    两个不同的网络,进行数据同步的设计思路
    IDEA清理缓存项目
    IDEA快捷键
    IDEA如何添加多个maven项目工程
    sqlserver数据库中的mdf文件太大,表空间分析和表空间释放
    关于AOP的面向切面编程
    关于.net进行爬虫
    关于调用别人接口的一些问题总结
  • 原文地址:https://www.cnblogs.com/stangray/p/1688273.html
Copyright © 2020-2023  润新知