Are you using any of the shipping rate lookup providers, like USPS or FedEx?
What is the exact URL in the browser for the failure page? are there any querystring variables at the end?
Add the following code to the failure page anywhere after the <body> tag:
<?php
if(!session_id()) session_start();
echo "<p>Express Authorize <br />";
echo "Full Request: ".(isset($_SESSION["ECO_Auth_Request"])?htmlentities($_SESSION["ECO_Auth_Request"]):"n/a")."<br />";
echo "Full Response: ".(isset($_SESSION["ECO_Auth_Result"])?htmlentities($_SESSION["ECO_Auth_Result"]):"n/a")."<br />";
echo "<p>Express Process: <br />";
echo "Full Request: ".(isset($_SESSION["ECO_Process_Request"])?htmlentities($_SESSION["ECO_Process_Request"]):"n/a")."<br />";
echo "Full Response: ".(isset($_SESSION["ECO_Process_Result"])?htmlentities($_SESSION["ECO_Process_Result"]):"n/a")."<br /></p>";
?>
this will write the fill request and response from paypal to the screen and help us determine the cause for the failure.
NOTE: The full request and response will contain sensitive information like paypal api information, this should be removed before posting it here.