To debug the cause of the checkout failure, add the following code to the checkout_filure.php page:
<?php
if(!session_id()) session_start();
echo("PayPal Full Request :<br />");
echo("<code>".isset($_SESSION["PP_DirectPayment_postedValues"])?$_SESSION["PP_DirectPayment_postedValues"]:""."</code><br /><br />");
echo("Paypal Full Response :<br />");
echo("<code>".isset($_SESSION["PP_DirectPayment"])?$_SESSION["PP_DirectPayment"]:""."</code><br /><br />");
echo("USPS Full Request :<br />");
echo("<code>".isset($_SESSION["WA_Store_Cart_USPS_FullRequest"])?$_SESSION["WA_Store_Cart_USPS_FullRequest"]:""."</code><br /><br />");
echo("USPS Full Response :<br />");
echo("<code>".isset($_SESSION["WA_Store_Cart_USPS_FullResponse"])?$_SESSION["WA_Store_Cart_USPS_FullResponse"]:""."</code><br /><br />");
?>
This will return the response from paypal so we can determine what may be going wrong.