• Response.Redirect & window.location.href


    对接中信的微信H5支付时,对方(其实是微信)需要对我们的域名进行授权,即,我方需向渠道报备支付域名,微信只认可由此域名发起的支付交易。

    支付中心只提供了一套支付接口供下游系统访问。因为给渠道报备的域名是支付中心的域名,为此,支付中心需要做一个中间页,由这个中间页发起到渠道的支付请求。

            protected void Page_Load(object sender, EventArgs e)
            {
                LogHelper.Write("h5请求url:" + Request.Url.ToString());
                if ("" != Request.QueryString["mweb_url"])
                {
                    Response.Redirect(Request.QueryString["mweb_url"]);
                }
                else
                {
                    Response.Write("ok");
                    Response.Write(Request.Url.ToString());
                }
            }

    测试时,发现微信仍然提示域名不一致。

    于是,修改代码,废掉Response.Redirect,改用js的window.location.href来实现浏览器重定向跳转。再次发起支付,发现果然ok!


    通过demo测试,使用Response.Redirect做页面跳转时,无法获取到上次请求的url信息,而通过window.location.href是可以的。这也证明了为什么微信校验请求域名失败。

  • 相关阅读:
    FFT模板
    树链剖分模板
    295. 数据流的中位数
    我罗斯方块最终篇
    面向对象程序设计寒假作业3
    2020面向对象寒假作业(二)
    2020面向对象程序设计寒假作业1
    违规二哥
    士大夫和为啥
    啥给测试
  • 原文地址:https://www.cnblogs.com/buguge/p/8042439.html
Copyright © 2020-2023  润新知