add the following code to the failure page to see the full request and response from the gateway, this will help us see what the problem is :
<?php
if(!session_id()) session_start();
echo "<p>Direct Pay: <br />";
echo "Full Request: ".(isset($_SESSION["PP_DirectPayment_postedValues"])?htmlentities($_SESSION["PP_DirectPayment_postedValues"]):"n/a")."<br />";
echo "Full Response: ".(isset($_SESSION["PP_DirectPayment"])?htmlentities($_SESSION["PP_DirectPayment"]):"n/a")."<br /></p>";
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>";
echo "<p>Auth Net: <br />";
echo "Full Request: ".(isset($_SESSION['WAAuthNet_postedValues'])?htmlentities($_SESSION['WAAuthNet_postedValues']):"n/a")."<br />";
echo "Full Response: ".(isset($_SESSION['WAAuthNet'])?htmlentities($_SESSION['WAAuthNet']):"n/a")."<br /></p>";
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 /></p>";
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>";
echo "<p>UPS: <br />";
echo "Full Request: ".(isset($_SESSION["WA_Store_Cart_UPS_FullRequest"])?htmlentities($_SESSION["WA_Store_Cart_UPS_FullRequest"]):"n/a")."<br />";
echo "Full Response: ".(isset($_SESSION["WA_Store_Cart_UPS_FullResponse"])?htmlentities($_SESSION["WA_Store_Cart_UPS_FullResponse"]):"n/a")."<br /></p>";
echo "<p>FedEX: <br />";
echo "Full Request: ".(isset($_SESSION["WA_Store_Cart_FedEx_FullRequest"])?htmlentities($_SESSION["WA_Store_Cart_FedEx_FullRequest"]):"n/a")."<br />";
echo "Full Response: ".(isset($_SESSION["WA_Store_Cart_FedEx_FullResponse"])?htmlentities($_SESSION["WA_Store_Cart_FedEx_FullResponse"]):"n/a")."<br /></p>";
echo "<p>USPS: <br />";
echo "Full Request: ".(isset($_SESSION["WA_Store_Cart_USPS_FullRequest"])?htmlentities($_SESSION["WA_Store_Cart_USPS_FullRequest"]):"n/a")."<br />";
echo "Full Response: ".(isset($_SESSION["WA_Store_Cart_USPS_FullResponse"])?htmlentities($_SESSION["WA_Store_Cart_USPS_FullResponse"]):"n/a")."<br /></p>";
?>
NOTE: The full request and response will contain sensitive information that should be removed before posting here.