gform_stripe_charge_authorization_only

Description

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.

Note: This filter should only be used when Enable additional payment methods is unchecked. When the option is checked, the filter gform_stripe_payment_element_authorization_only should be used instead.

Enable additional payment methods checkbox unchecked

Usage

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 );

Parameters

  • $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.

Examples

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 set the charge to authorize only 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;
}

Placement

This code can be used in the functions.php file of the active theme, a custom functions plugin, a custom add-on, or with a code snippets plugin.

See also the PHP section in this article: Where Do I Put This Code?

Since

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.