gform_creditcard_types

Description

Use this filter to change 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 is defined as follows:

$cards =
array (
array (
'name' => 'American Express',
'slug' => 'amex',
'lengths' => '15',
'prefixes' => '34,37',
'checksum' => true
),
array (
'name' => 'Discover',
'slug' => 'discover',
'lengths' => '16',
'prefixes' => '6011,622,64,65',
'checksum' => true
),
array (
'name' => 'MasterCard',
'slug' => 'mastercard',
'lengths' => '16',
'prefixes' => '51,52,53,54,55',
'checksum' => true
),
array (
'name' => 'Visa',
'slug' => 'visa',
'lengths' => '13,16',
'prefixes' => '4,417500,4917,4913,4508,4844',
'checksum' => true
),
array (
'name' => 'JCB',
'slug' => 'jcb',
'lengths' => '16',
'prefixes' => '35',
'checksum' => true
),
array (
'name' => 'Maestro',
'slug' => 'maestro',
'lengths' => '12,13,14,15,16,18,19',
'prefixes' => '5018,5020,5038,6304,6759,6761',
'checksum' => true
)
);

Note: The lengths, prefixes and checksum properties are used for validation and card type detection. Lengths indicates the card number’s allowed number of digits, prefixes indicates the allowed starting digit sequence and checksum indicates if the card validation requires a checksum.

Examples

This example removes Maestro from the list of available credit cards.

add_filter( 'gform_creditcard_types', 'remove_maestro' );
function remove_maestro( $cards ) {
unset( $cards[5] ); //removing Maestro from the list
return $cards;
}

Placement

This code should be placed in the functions.php file of your active theme.

Source Code

This filter is located in GFCommon::get_card_types() in common.php.