The gform_square_authorization_only filter allows you to perform authorization-only transactions with Gravity Forms and the Square payment gateway, without capturing the payment immediately after the entry is saved.
Usage
To use the filter for all Square product and service feeds:
add_filter('gform_square_authorization_only', 'your_function_name', 10, 5);
Parameters
- $authorization_only (bool): Defaults to false, return true to prevent payment from 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.
More information
See Gravity Forms Docs: gform_square_authorization_only
Note: Payments that are only authorized and not captured via your Square dashboard within 6 days will automatically expire.
Examples
Apply to all product and service feeds
add_filter('gform_square_authorization_only', '__return_true');
Apply to a specific feed
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: This hook is located in GF_Square::get_capture_method() in class-gf-square.php
.