Improved error logging/handling in paypal IPN routines

This commit is contained in:
2015-05-16 13:46:27 +10:00
parent 716742a32c
commit 3db503e04e

View File

@@ -33,18 +33,16 @@ function _booking_paypal_ipn_verify($vars = array()) {
ob_end_clean();
if (preg_match('/VERIFIED/i', $info)) {
watchdog('booking', 'Payment verification completed successfully: @info', array('@info' => $info));
watchdog('booking', 'Payment verification completed successfully: @info', array('@info' => $info));
return TRUE;
}
else {
watchdog('booking', 'Payment verification not successful: @info', array('@info' => $info));
} else {
watchdog('booking', 'Payment verification not successful: @info', array('@info' => $info));
return FALSE;
}
}
else {
watchdog('booking_paypal', 'Call to curl_exec() failed. url=@url vars=@vars', array(
'@vars' => print_r($vars, TRUE)
), WATCHDOG_ERROR);
} else {
watchdog('booking_paypal', 'Call to curl_exec() failed with error @error. vars=@vars', array(
'@vars' => print_r($vars, TRUE), '@error' => curl_error($ch)), WATCHDOG_ERROR);
return FALSE;
}
}
@@ -58,9 +56,17 @@ function booking_paypal_ipn() {
watchdog('booking', 'Payment notification received: @info', array('@info' => var_export($ipn, TRUE)));
if(!_booking_paypal_ipn_verify($ipn))
return;
//verify the notification with paypal
if(!_booking_paypal_ipn_verify($ipn)) {
watchdog('booking', 'Payment verification did not succeed. Retrying.');
if(!_booking_paypal_ipn_verify($ipn)) {
return;
} else {
watchdog('booking', 'Payment verification succeeded on second attempt.');
}
}
//if we're still exectuing then the verification was successful
/*
if ($ipn['payment_status'] != 'Pending' && variable_get('booking_paypal_sandbox', 0) == 1) {