Triggered after a payment is made to an existing subscription.


add_action( 'gform_post_add_subscription_payment', 'my_function', 10, 2 );


  • $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'             => '',


1. Basic usage

function my_function() {
//Do something here
add_action( 'gform_post_add_subscription_payment', 'my_function', 10, 2 );

2. Cancel a Stripe subscription after # payments

See the Cancel a Stripe Subscription After a Specified Number of Payments article for an example showing how this hook can be used to cancel a Stripe subscription after a set number of payments have occurred.

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_add_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:

Source Code

do_action( 'gform_post_add_subscription_payment', $entry, $action );

This action hook is located in GFPaymentAddOn::add_subscription_payment() in includes/addon/class-gf-payment-addon.php.