Description
Triggered after an existing subscription payment fails.
Usage
add_action( 'gform_post_fail_subscription_payment', 'my_function', 10, 2 );
Parameters
- $entry Entry Object
The entry object that was created,
-
$action array
The action that occurred within the subscription payment. Contains further information about the subscription.
$action = array( 'type' => '', 'amount' => '', 'transaction_type' => '', 'transaction_id' => '', 'subscription_id' => '', 'entry_id' => '', 'payment_status' => '', 'note' => '', );
Examples
1. Basic Usage
function my_function() { //Do something here } add_action( 'gform_post_fail_subscription_payment', 'my_function', 10, 2 );
2. Update User Role
add_action( 'gform_post_fail_subscription_payment', 'update_user_role' ); function update_user_role( $entry ) { if ( function_exists( 'gf_user_registration' ) ) { // use WP_User to change role - https://developer.wordpress.org/reference/classes/wp_user/ $user = gf_user_registration()->get_user_by_entry_id( $entry['id'] ); if ( is_object( $user ) ) { $user->remove_role( 'role_one' ); $user->add_role( 'role_two' ); } } }
3. Access webhook event
In some cases you may need access to the webhook event that initiated the subscription cancelation. This example demonstrates how to access that event object. Note: this object is only available if the request was initiated by a Stripe webhook.
add_action( 'gform_post_fail_subscription_payment', 'my_function', 10, 2 ); function my_function( $entry, $feed ) { // If data from the Stripe webhook event is needed (and this hook was initiated via a Stripe webhook request), you can access event data with the following line: $event = gf_stripe()->get_webhook_event(); if ( $event ){ // Access webhook event data. For event object documentation, see: https://stripe.com/docs/api/events/object } }
Source Code
do_action( 'gform_post_fail_subscription_payment', $entry, $action );
This action hook is located in GFPaymentAddOn::fail_subscription_payment() in includes/addon/class-gf-payment-addon.php.