[interchange] Updates to handle new MasterCard BIN-2 numbers
David Christensen
interchange-cvs at icdevgroup.org
Wed Jul 20 21:38:04 UTC 2016
commit 0b3381746dae6e9561c3199b2961d88a7e923429
Author: David Christensen <david at endpoint.com>
Date: Wed Jul 20 16:32:59 2016 -0500
Updates to handle new MasterCard BIN-2 numbers
WHATSNEW-5.11 | 7 +++++++
dist/lib/UI/pages/admin/entry.html | 4 +++-
dist/strap/include/checkout/payment_info | 4 +++-
lib/Vend/Order.pm | 2 +-
lib/Vend/Payment/Protx2.pm | 1 +
5 files changed, 15 insertions(+), 3 deletions(-)
---
diff --git a/WHATSNEW-5.11 b/WHATSNEW-5.11
index b15bb01..dc9ed60 100644
--- a/WHATSNEW-5.11
+++ b/WHATSNEW-5.11
@@ -8,6 +8,13 @@
------------------------------------------------------------------------------
+Payments
+--------
+
+* Add BIN-2 MasterCard number support to Vend::Order, catalog templates,
+ admin, and Vend::Payment modules which require it.
+
+
Database
--------
diff --git a/dist/lib/UI/pages/admin/entry.html b/dist/lib/UI/pages/admin/entry.html
index 235d35a..6dffe4d 100644
--- a/dist/lib/UI/pages/admin/entry.html
+++ b/dist/lib/UI/pages/admin/entry.html
@@ -789,7 +789,9 @@ function visible (selnam) {
num.substr(0,2) == '52' ||
num.substr(0,2) == '53' ||
num.substr(0,2) == '54' ||
- num.substr(0,2) == '55'
+ num.substr(0,2) == '55' ||
+ ( num.substr(0,6) >= 222100 &&
+ num.substr(0,6) <= 272099)
)
{
type = 'mc';
diff --git a/dist/strap/include/checkout/payment_info b/dist/strap/include/checkout/payment_info
index 6c23cb7..d0835d5 100644
--- a/dist/strap/include/checkout/payment_info
+++ b/dist/strap/include/checkout/payment_info
@@ -72,7 +72,9 @@
num.substr(0,2) == '52' ||
num.substr(0,2) == '53' ||
num.substr(0,2) == '54' ||
- num.substr(0,2) == '55'
+ num.substr(0,2) == '55' ||
+ ( num.substr(0,6) >= 222100 &&
+ num.substr(0,6) <= 272099)
) {
type = 'mc'; desc = '(Mastercard)';
}
diff --git a/lib/Vend/Order.pm b/lib/Vend/Order.pm
index 239de7d..7880263 100644
--- a/lib/Vend/Order.pm
+++ b/lib/Vend/Order.pm
@@ -480,7 +480,7 @@ sub guess_cc_type {
elsif ($ccnum =~ /^4(?:\d{12}|\d{15})$/)
{ return 'visa' }
- elsif ($ccnum =~ /^5[1-5]\d{14}$/)
+ elsif ($ccnum =~ /^5[1-5]\d{14}$/ || ($ccnum =~ /^(2\d{5})\d{10}$/ && ($1 >= 222100 && $1 < 272100)))
{ return 'mc' }
elsif (
diff --git a/lib/Vend/Payment/Protx2.pm b/lib/Vend/Payment/Protx2.pm
index 3d5648b..99ede5e 100644
--- a/lib/Vend/Payment/Protx2.pm
+++ b/lib/Vend/Payment/Protx2.pm
@@ -716,6 +716,7 @@ sub protx {
elsif ($ccnum =~ /^4(?:\d{12}|\d{15})$/) {$cardType = 'Visa'}
elsif ($ccnum =~ /^5[1-5]\d{14}$/) {$cardType = 'MC'}
+ elsif ($ccnum =~ /^(2\d{5})\d{10}$/ && $1 >= 222100 && $1 < 272100) {$cardType = 'MC'}
elsif ($ccnum =~ /^3[47]\d{13}$/) {$cardType = 'Amex'}
}
More information about the interchange-cvs
mailing list