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