douke7274 2016-09-15 17:32
浏览 85
已采纳

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

I'm integrating Sage Pay Direct into a website. Currently I'm running everything in test mode, and everything works fine unless I test a payment using 3D Secure.

I am using the first card details from the Sage Pay test cards here:

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

This causes my site to go to its 3D Secure page containing an iframe which loads Sage Pay's own 3D Secure page from their test server. However, it's just completely empty. It's a blank white page with no source code at all.

Here is my iframe which self-submits automatically to load the Sage Pay 3D Secure page:

<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>

The data for the fields comes from the request made previously, returned by Sage Pay. As you can see, I am sending the following fields:

  • MD
  • PaReq
  • TermUrl

I have read the Sage Pay Direct Integration Guide documentation 100 times and this seems to be correct, and the field names are correct with correct case-sensitive names.

  • This is using Sage Pay protocol v3.00
  • I have successfully implemented this before in v2.2.3 some years ago
  • I have compared the two websites (old and new) and they look the same
  • Payments not using 3D Secure work 100% so the general integration is correct
  • 写回答

1条回答 默认 最新

  • doushi3322 2016-09-16 14:11
    关注

    You've got spaces in your PaReq field. Replace 'em with '+'....

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?