Using Gravity Forms ‘gform_square_authorization_only’ PHP filter

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.