【问题标题】:Sage Pay test server won't load 3D Secure pageSage Pay 测试服务器不会加载 3D 安全页面
【发布时间】:2016-09-15 17:32:46
【问题描述】:

我正在将 Sage Pay Direct 集成到网站中。目前我在测试模式下运行一切,一切正常,除非我使用 3D Secure 测试付款。

我在这里使用 Sage Pay 测试卡中的第一张卡详细信息:

http://www.sagepay.co.uk/support/12/36/test-card-details-for-your-test-transactions

这会导致我的网站转到包含 iframe 的 3D Secure 页面,该 iframe 从他们的测试服务器加载 Sage Pay 自己的 3D Secure 页面。然而,它完全是空的。这是一张白纸,根本没有源代码。

这是我的 iframe,它会自动提交以加载 Sage Pay 3D 安全页面:

<html>
<head>
    <title>3D-Secure Authentication</title>
</head>
<body>
    <form action="https://test.sagepay.com/mpitools/accesscontroler?action=pareq" method="post">
        <input type="hidden" name="MD" value="2015466070671410" />
        <input type="hidden" name="PaReq" value="eJxVkttygjAQhu/7FAwPQAhyEGeNY u0paMto06ntynsCFM5BVB8 yYIteZq/83my 6fwKLLjtoJRZ0W Vynhqkv2APCmSwwbrmB9TSeK5bJr39ie/4nmt6putRm5o6g3C5xYrBAGKSY1Ago5QEESU8bxjwqHoM3pntU9fzgAwSMhTBijlT35LUsdf4iXldQK5pyHmGbJ/gR/ct0viAW6yRS KLKNoSSL8NUdHmjbiwqeUGQW04siSpwerwerilnhJzPZ6MYCBinTZofjKjICBBVBOTWZNiqqJbQLo1ZEofPXvfmJCe ro5JWp2yjfj5Wn2uolQExb5BJa1zTp45GpzPqzlT/fR54prphlt3PNCgo1SXLu63/KZDeC8yjcaBRAXZlkaM6BOQvhhjriO3UK4X8om3CQF6uUkBuwzy9Kv jRlpKlfV9pHipdIq61OyBSgBRtWR4VTJ8ABndfYxf1D28kg==" />
        <input type="hidden" name="TermUrl" value="https://www.example.com/payment/auth-return" />
    </form>

    <script>
        document.forms[0].submit();
    </script>
</body>
</html>

字段的数据来自之前提出的请求,由 Sage Pay 返回。如您所见,我正在发送以下字段:

  • 医学博士
  • PaReq
  • 术语网址

我已阅读 Sage Pay Direct Integration Guide 文档 100 次,这似乎是正确的,并且字段名称正确且区分大小写的名称正确。

  • 这是使用 Sage Pay 协议 v3.00
  • 几年前我已经在 v2.2.3 中成功实现过这个
  • 我比较了这两个网站(旧的和新的),它们看起来一样
  • 不使用 3D Secure 的付款 100% 有效,因此一般集成是正确的

【问题讨论】:

    标签: php opayo


    【解决方案1】:

    您的 PaReq 字段中有空格。将它们替换为 '+'....

    【讨论】:

    • 你知道,我已经尝试过将它包装在 urlencode() 中,但它没有任何区别。直接str_replace() 仅用于“+”作品。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-15
    • 1970-01-01
    • 1970-01-01
    • 2015-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多