The gform_stripe_charge_authorization_only filter allows authorization only transactions by preventing the capture request from being made after the entry has been saved.


The hook which would run for all Stripe product and service feeds can be used like so:

add_filter( 'gform_stripe_charge_authorization_only', 'your_function_name', 10, 5 );


  • $authorization_only bool

    Defaults to false; return true to prevent payment being captured.

  • $feed Feed Object

    The feed object currently being processed.

  • $submission_data Submission Data

    Contains the form title, payment amount, setup fee amount, trial amount, line items created using the submitted pricing field values and any discounts from coupons.

  • $form Form Object

    The Form which is currently being processed.

  • $entry Entry Object

    The entry from which the subscription was created.


1. Apply to all product and service feeds

add_filter( 'gform_stripe_charge_authorization_only', '__return_true' );

2. Apply to a specific feed

The following example shows how you can delay the subscription cancellation for a specific feed by checking the feed name.

add_filter( 'gform_stripe_charge_authorization_only', 'stripe_charge_authorization_only', 10, 2 );
function stripe_charge_authorization_only( $authorization_only, $feed ) {
	gf_stripe()->log_debug( __METHOD__ . '(): Running... ');
	$feed_name  = rgars( $feed, 'meta/feedName' );
	if ( $feed_name == 'your feed name here' ) {
		gf_stripe()->log_debug( __METHOD__ . '(): Authorization only charge for feed ' . $feed_name );
		return true;
	return $authorization_only;


Your code snippet should be placed in the functions.php file of your active theme.


This hook was added in Stripe version 2.1.

Source Code

$authorization_only = apply_filters( 'gform_stripe_charge_authorization_only', false, $feed, $submission_data, $form, $entry );

This hook is located in GFStripe::capture() in class-gf-stripe.php.