Sage Pay test server won't load 3D Secure page


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:

<a href="http://www.sagepay.co.uk/support/12/36/test-card-details-for-your-test-transactions" rel="nofollow">http://www.sagepay.co.uk/support/12/36/test-card-details-for-your-test-transactions</a>

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.

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

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

<ul><li>MD</li> <li>PaReq</li> <li>TermUrl</li> </ul>

I have read the <a href="http://www.sagepay.co.uk/file/12236/download-document/DIRECT_Integration_and_Protocol_Guidelines_010814.pdf" rel="nofollow">Sage Pay Direct Integration Guide</a> documentation 100 times and this seems to be correct, and the field names are correct with correct case-sensitive names.

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


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


  • Why does the following throw an “Object doesn't support property or method 'importNode
  • Microsoft Excel Pivot miscalculation in Sum for positive and negative numbers
  • google maps autocomplete bounces back already cleared text …odd…odd…odd
  • Why must we declare a variable name when adding a method to a struct in Golang?
  • How to split circle in to the sectors in google maps?
  • Why isn't obj.style.left = “200px”; working in this code?
  • Tell Git to stop prompting me for conflicts when none really exist?
  • Django model inheritance, filtering models
  • C# program and C++ DLL compiled for 32-bit system crash on 64-bit system
  • Authentication in Play! and RestEasy
  • Loading .coffee files via a view in Rails
  • Create DicomImage from scratch using Dcmtk
  • Abort upload large uploads after reading headers
  • Rails Find when some params will be blank
  • Jquery UI tool tip close icon
  • Android fill_parent issue
  • MongoDB in PHP using aggregate to group by _id is null not working
  • Display issues when we change from one jquery mobile page to another in firefox
  • Counter field in MS Access, how to generate?
  • Apache 2.4 and php-fpm does not trigger apache http basic auth for php pages
  • How to draw moving and Running sine wave chart using JFree chart in java?
  • How to recover from a Spring Social ExpiredAuthorizationException
  • Javascript + PHP Encryption with pidCrypt
  • Websockets service method fails during R startup
  • To display the title for the current loaction in map in iphone
  • How to get icons for entities from eclipse?
  • trying to dynamically update Highchart column chart but series undefined
  • Proper way to use connect-multiparty with express.js?
  • Load html files in TinyMce
  • Why can't I rebase on to an ancestor of source changesets if on a different branch?
  • How to get Windows thread pool to call class member function?
  • IndexOutOfRangeException on multidimensional array despite using GetLength check
  • JaxB to read class hierarchy
  • costura.fody for a dll that references another dll
  • Observable and ngFor in Angular 2
  • How to Embed XSL into XML
  • UserPrincipal.Current returns apppool on IIS
  • Conditional In-Line CSS for IE and Others?
  • java string with new operator and a literal
  • How to load view controller without button in storyboard?