The gform_stripe_enable_rate_limits filter enables or disables error rate limiting when processing a Stripe feed in Gravity Forms. Error rate limiting is enabled by default, blocking any IP that reaches 5 errors for an hour.
⚠️ This filter should only be used while testing your forms. Do not use this filter to disable error rate limiting with the Stripe add-on set to “Live” mode on the Forms > Settings > Stripe page.
Error rate limiting prevents your forms with the Stripe add-on from being used for fraudulent card testing. Disabling it in a production environment may lead to processing transactions from fraudulent individuals testing stolen credit cards, resulting in potential card disputes.
Usage
add_filter('gform_stripe_enable_rate_limits', 'your_function_name');
Parameters
$has_error (bool)
: Indicates whether error rate limiting is enabled. Defaults to false (error rate limiting enabled).$form_id (int)
: The ID of the form being submitted.
More information
See Gravity Forms Docs: gform_stripe_enable_rate_limits
This filter was added in Stripe 3.4 and is located in class-gf-stripe.php
.
Examples
Disable rate limiting for all forms
Disables error rate limiting for all forms.
add_filter('gform_stripe_enable_rate_limits', '__return_false');
Disable rate limiting for a specific form
Disables error rate limiting only for a specific form with the ID 5.
add_filter('gform_stripe_enable_rate_limits', 'disable_rate_limiting_for_form', 10, 2); function disable_rate_limiting_for_form($has_error, $form_id) { if ($form_id == 5) { return false; } return $has_error; }
Enable rate limiting for a specific form
Enables error rate limiting only for a specific form with the ID 10.
add_filter('gform_stripe_enable_rate_limits', 'enable_rate_limiting_for_form', 10, 2); function enable_rate_limiting_for_form($has_error, $form_id) { if ($form_id == 10) { return true; } return $has_error; }
Disable rate limiting if the user is an administrator
Disables error rate limiting if the current user is an administrator.
add_filter('gform_stripe_enable_rate_limits', 'disable_rate_limiting_for_admin', 10, 2); function disable_rate_limiting_for_admin($has_error, $form_id) { if (current_user_can('administrator')) { return false; } return $has_error; }
Enable rate limiting based on a custom condition
Enables error rate limiting if a custom condition is met.
add_filter('gform_stripe_enable_rate_limits', 'custom_rate_limiting_condition', 10, 2); function custom_rate_limiting_condition($has_error, $form_id) { // Replace this with your custom condition $my_condition = true; if ($my_condition) { return true; } return $has_error; }