DescriptionUsageParametersExamplesPlacementSource Code
Description
This hook is fired after a PayPal IPN response has been processed.
Usage
add_action( 'gform_paypal_post_ipn', 'your_function_name', 10, 4) ;
Parameters
$_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.
$cancel boolean
Defaults to false. Indicates whether the IPN processing was canceled by the gform_paypal_pre_ipn hook.
Examples
This example shows how to update your order on a fictional third party order fulfillment service.
add_action( 'gform_paypal_post_ipn', 'update_order_status', 10, 4 );
function update_order_status( $ipn_post, $entry, $feed, $cancel ) {
// if the IPN was canceled, don't process
if ( $cancel )
return;
// get first and last name from $entry
$order_id = $entry['id'];
// use fictional function to add order to fictional My Third Party application
mtp_update_order( $order_id, $ipn_post );
}
The following example deletes the post associated with the entry when the subscription term ends.
add_action( 'gform_paypal_post_ipn', 'delete_post', 10, 4 );
function delete_post( $ipn_post, $entry, $feed, $cancel ) {
// if the IPN was canceled, don't process
if ( $cancel )
return;
$transaction_type = $ipn_post['txn_type'];
//delete post if this is the end of term
if ( strtolower( $transaction_type ) == 'subscr_eot' ) {
wp_delete_post( $entry['post_id'] );
}
}
Placement
This code should be placed in the functions.php file of your active theme.
Source Code
do_action( 'gform_paypal_post_ipn', $_POST, $entry, $feed, true )
This hook is located in GFPayPal::can_process_ipn() in class-gf-paypal.php.