Sage Pay测试服务器不会加载3D Secure页面

时间:2016-09-15 17:32:47

标签: php sagepay

我正在将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页面。但是,它完全是空的。这是一个空白的白页,根本没有源代码。

以下是我自动提交以加载Sage Pay 3D Secure页面的iframe:

<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返回的请求。如您所见,我发送以下字段:

  • MD
  • PaReq
  • TermUrl

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

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

1 个答案:

答案 0 :(得分:1)

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