The gform_paypal_pre_ipn Gravity Forms PHP filter is used to cancel the IPN (Instant Payment Notification) processing.
Usage
add_filter('gform_paypal_pre_ipn', 'your_function_name', 10, 4);
Parameters
- $cancel (boolean): False by default. Return as true to cancel IPN processing.
- $_POST (array): The $_POST array posted by the PayPal IPN.
- $entry (Entry Object): The entry from which the transaction the IPN is responding to was submitted.
- $feed (Feed Object): The PayPal feed configuration data used to process the entry the IPN is responding to.
More information
See Gravity Forms Docs: gform_paypal_pre_ipn
Examples
Cancel IPN processing
This example shows how to return a true value and cancel the IPN processing.
add_filter('gform_paypal_pre_ipn', 'cancel_ipn');
function cancel_ipn($cancel) {
return true;
}
Cancel IPN processing based on entry data
This example shows how to cancel IPN processing if the entry’s form ID is 5.
add_filter('gform_paypal_pre_ipn', 'cancel_ipn_for_form', 10, 4);
function cancel_ipn_for_form($cancel, $_POST, $entry, $feed) {
if ($entry['form_id'] == 5) {
return true;
}
return $cancel;
}
Cancel IPN processing based on custom criteria
This example shows how to cancel IPN processing if the total amount is less than 10.
add_filter('gform_paypal_pre_ipn', 'cancel_ipn_for_amount', 10, 4);
function cancel_ipn_for_amount($cancel, $_POST, $entry, $feed) {
if ($_POST['mc_gross'] < 10) {
return true;
}
return $cancel;
}
Log IPN data before processing
This example shows how to log the IPN data before processing it.
add_filter('gform_paypal_pre_ipn', 'log_ipn_data', 10, 4);
function log_ipn_data($cancel, $_POST, $entry, $feed) {
error_log(print_r($_POST, true));
return $cancel;
}
Modify IPN data before processing
This example shows how to modify the IPN data before processing it.
add_filter('gform_paypal_pre_ipn', 'modify_ipn_data', 10, 4);
function modify_ipn_data($cancel, $_POST, $entry, $feed) {
$_POST['mc_gross'] = 100;
return $cancel;
}