public static function CreditCard::getTypes in Commerce Core 8.2
Gets all available credit card types.
Return value
\Drupal\commerce_payment\CreditCardType[] The credit card types.
7 calls to CreditCard::getTypes()
- CommercePaymentGateway::__construct in modules/
payment/ src/ Annotation/ CommercePaymentGateway.php - Constructs a new CommercePaymentGateway object.
- CreditCard::detectType in modules/
payment/ src/ CreditCard.php - Detects the credit card type based on the number.
- CreditCard::getType in modules/
payment/ src/ CreditCard.php - Gets the credit card type with the given ID.
- CreditCard::getTypeLabels in modules/
payment/ src/ CreditCard.php - Gets the labels of all available credit card types.
- CreditCardTest::testGetAvsResponseCodeMeanings in modules/
payment/ tests/ src/ Unit/ CreditCardTest.php - @covers ::getAvsResponseCodeMeanings
File
- modules/
payment/ src/ CreditCard.php, line 43
Class
- CreditCard
- Provides logic for listing card types and validating card details.
Namespace
Drupal\commerce_paymentCode
public static function getTypes() : array {
$definitions = [
'visa' => [
'id' => 'visa',
'label' => new TranslatableMarkup('Visa'),
'number_prefixes' => [
'4',
],
'number_lengths' => [
16,
18,
19,
],
],
'mastercard' => [
'id' => 'mastercard',
'label' => new TranslatableMarkup('Mastercard'),
'number_prefixes' => [
'51-55',
'222100-272099',
],
],
'maestro' => [
'id' => 'maestro',
'label' => new TranslatableMarkup('Maestro'),
'number_prefixes' => [
'5018',
'502',
'503',
'506',
'56',
'58',
'639',
'6220',
'67',
],
'number_lengths' => [
12,
13,
14,
15,
16,
17,
18,
19,
],
],
'amex' => [
'id' => 'amex',
'label' => new TranslatableMarkup('American Express'),
'number_prefixes' => [
'34',
'37',
],
'number_lengths' => [
15,
],
'security_code_length' => 4,
],
'dinersclub' => [
'id' => 'dinersclub',
'label' => new TranslatableMarkup('Diners Club'),
'number_prefixes' => [
'300-305',
'309',
'36',
'38',
'39',
],
'number_lengths' => [
14,
16,
19,
],
],
'discover' => [
'id' => 'discover',
'label' => new TranslatableMarkup('Discover Card'),
'number_prefixes' => [
'6011',
'622126-622925',
'644-649',
'65',
],
'number_lengths' => [
16,
19,
],
],
'jcb' => [
'id' => 'jcb',
'label' => new TranslatableMarkup('JCB'),
'number_prefixes' => [
'3528-3589',
],
'number_lengths' => [
16,
17,
18,
19,
],
],
'unionpay' => [
'id' => 'unionpay',
'label' => new TranslatableMarkup('UnionPay'),
'number_prefixes' => [
'62',
'88',
],
'number_lengths' => [
16,
17,
18,
19,
],
'uses_luhn' => FALSE,
],
];
foreach ($definitions as $id => $definition) {
self::$types[$id] = new CreditCardType($definition);
}
return self::$types;
}