To trouble shoot the problem, Add the following to the pp_checkout_failure.php page:
<?php
if(!isset(session_id)) session_start();
echo("Auth Request : <code>".$_SESSION["ECO_Auth_Request"]."</code>|<br /><br />");
echo("Auth Result : <code>".$_SESSION["ECO_Auth_Result"]."</code>|<br /><br />");
echo("Get Request : <code>".$_SESSION["ECO_Get_Request"]."</code>|<br /><br />");
echo("Get Result : <code>".$_SESSION["ECO_Get_Result"]."</code>|<br /><br />");
echo("Process : <code>".$_SESSION["ECO_Process_Request"]."</code>|<br /><br />");
echo("Process Result : <code>".$_SESSION["ECO_Process_Result"]."</code>|<br /><br />");
?>
This will write the full request being sent to pay pals, and the response they are giving to help us see what is wrong.
NOTE, The request and response will contain some sensitive information, this should be removed when posting back.