Description
The gform_square_authorization_only filter allows authorization only transactions by preventing the capture request from being made after the entry has been saved.
Note: Payments that are only authorized and not captured via your Square dashboard within 6 days will automatically expire.
Usage
The hook which would run for all Square product and service feeds can be used like so:
add_filter( 'gform_square_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
The customer and transaction data.
-
$form Form Object
The form object currently being processed.
-
$entry Entry Object
The entry object currently being processed.
Examples
1. Apply to all product and service feeds
add_filter( 'gform_square_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_square_authorization_only', 'square_authorization_only', 10, 2 ); function square_authorization_only( $authorization_only, $feed ) { $feed_name = rgars( $feed, 'meta/feedName' ); if ( $feed_name == 'your feed name here' ) { return true; } return $authorization_only; }
Placement
Your code snippet should be placed in the functions.php file of your active theme.
Since
This hook was added in Square version 1.0.
Source Code
$authorization_only = apply_filters( 'gform_square_authorization_only', false, $feed, $submission_data, $form, $entry );
This hook is located in GF_Square::get_capture_method() in class-gf-square.php.