The gform_creditcard_types Gravity Forms filter allows you to modify the default list of supported credit card types.
Usage
add_filter('gform_creditcard_types', 'add_card_type');
Parameters
- $cards (array) – The card array to be filtered. It contains information about each credit card type, such as name, slug, lengths, prefixes, and whether a checksum is required for validation.
More information
See Gravity Forms Docs: gform_creditcard_types
Examples
Remove Maestro from supported credit cards
This example removes Maestro from the list of available credit cards.
add_filter('gform_creditcard_types', 'remove_maestro');
function remove_maestro($cards) {
unset($cards[array_search('maestro', array_column($cards, 'slug'))]);
return $cards;
}
Add a custom credit card type
This example adds a custom credit card type called “BankCard” to the list of supported credit cards.
add_filter('gform_creditcard_types', 'add_bankcard');
function add_bankcard($cards) {
$cards[] = array(
'name' => 'BankCard',
'slug' => 'bankcard',
'lengths' => '16',
'prefixes' => '56',
'checksum' => true
);
return $cards;
}
Change the display name of a credit card type
This example changes the display name of the Visa credit card type to “Visa Card”.
add_filter('gform_creditcard_types', 'change_visa_name');
function change_visa_name($cards) {
$index = array_search('visa', array_column($cards, 'slug'));
$cards[$index]['name'] = 'Visa Card';
return $cards;
}
Remove credit card types based on their length
This example removes all credit card types with a length of 16 digits from the list of supported credit cards.
add_filter('gform_creditcard_types', 'remove_length_16_cards');
function remove_length_16_cards($cards) {
foreach ($cards as $key => $card) {
if (strpos($card['lengths'], '16') !== false) {
unset($cards[$key]);
}
}
return $cards;
}
Change the supported card number prefixes for a credit card type
This example changes the supported card number prefixes for the MasterCard credit card type.
add_filter('gform_creditcard_types', 'change_mastercard_prefixes');
function change_mastercard_prefixes($cards) {
$index = array_search('mastercard', array_column($cards, 'slug'));
$cards[$index]['prefixes'] = '51,52,53,54,55,2221-2720';
return $cards;
}