[freeside-commits] branch FREESIDE_3_BRANCH updated. 661eff7b7593ca9a2c39d6838948b96a15d8c0e6

Jonathan Prykop jonathan at 420.am
Thu Jun 9 18:02:44 PDT 2016


The branch, FREESIDE_3_BRANCH has been updated
       via  661eff7b7593ca9a2c39d6838948b96a15d8c0e6 (commit)
      from  286a56c9c9d4d29bae5e2734f4341d638de9c8e3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 661eff7b7593ca9a2c39d6838948b96a15d8c0e6
Author: Jonathan Prykop <jonathan at freeside.biz>
Date:   Thu Jun 9 19:50:39 2016 -0500

    RT#71210: Update Payment Report for recent BIN changes

diff --git a/httemplate/search/elements/cust_pay_or_refund.html b/httemplate/search/elements/cust_pay_or_refund.html
index 9f725bb..c6617b1 100755
--- a/httemplate/search/elements/cust_pay_or_refund.html
+++ b/httemplate/search/elements/cust_pay_or_refund.html
@@ -327,7 +327,9 @@ if ( $cgi->param('magic') ) {
 
             #avoid posix regexes for portability
             $search =
+              # Visa
               " ( (     substring($table.payinfo from 1 for 1) = '4'     ".
+              #   is not Switch
               "     AND substring($table.payinfo from 1 for 4) != '4936' ".
               "     AND substring($table.payinfo from 1 for 6)           ".
               "         NOT $similar_to '49030[2-9]'                        ".
@@ -340,13 +342,18 @@ if ( $cgi->param('magic') ) {
               "     AND substring($table.payinfo from 1 for 6)           ".
               "         NOT $similar_to '49118[1-2]'                        ".
               "   )".
+              # MasterCard
               "   OR substring($table.payinfo from 1 for 2) = '51' ".
               "   OR substring($table.payinfo from 1 for 2) = '52' ".
               "   OR substring($table.payinfo from 1 for 2) = '53' ".
               "   OR substring($table.payinfo from 1 for 2) = '54' ".
               "   OR substring($table.payinfo from 1 for 2) = '54' ".
               "   OR substring($table.payinfo from 1 for 2) = '55' ".
-#              "   OR substring($table.payinfo from 1 for 2) = '36' ". #Diner's int'l was processed as Visa/MC inside US, now Discover
+              "   OR substring($table.payinfo from 1 for 4) $similar_to '222[1-9]' ".
+              "   OR substring($table.payinfo from 1 for 3) $similar_to '22[3-9]' ".
+              "   OR substring($table.payinfo from 1 for 2) $similar_to '2[3-6]' ".
+              "   OR substring($table.payinfo from 1 for 3) $similar_to '27[0-1]' ".
+              "   OR substring($table.payinfo from 1 for 4) = '2720' ".
               " ) ";
 
           } elsif ( $cardtype eq 'Amex' ) {
@@ -363,14 +370,14 @@ if ( $cgi->param('magic') ) {
             $search =
               " (    substring($table.payinfo from 1 for 4 ) = '6011'  ".
               "   OR substring($table.payinfo from 1 for 2 ) = '65'    ".
-              "   OR substring($table.payinfo from 1 for 3 ) = '300'   ".
+              "   OR substring($table.payinfo from 1 for 3 ) = '300'   ". # diner's 300-305
               "   OR substring($table.payinfo from 1 for 3 ) = '301'   ".
               "   OR substring($table.payinfo from 1 for 3 ) = '302'   ".
               "   OR substring($table.payinfo from 1 for 3 ) = '303'   ".
               "   OR substring($table.payinfo from 1 for 3 ) = '304'   ".
               "   OR substring($table.payinfo from 1 for 3 ) = '305'   ".
-              "   OR substring($table.payinfo from 1 for 4 ) = '3095'  ".
-              "   OR substring($table.payinfo from 1 for 2 ) = '36'    ".
+              "   OR substring($table.payinfo from 1 for 4 ) = '3095'  ". # diner's 3095
+              "   OR substring($table.payinfo from 1 for 2 ) = '36'    ". # diner's 36, 38, 39
               "   OR substring($table.payinfo from 1 for 2 ) = '38'    ".
               "   OR substring($table.payinfo from 1 for 2 ) = '39'    ".
               "   OR substring($table.payinfo from 1 for 3 ) = '644'   ".
@@ -379,8 +386,8 @@ if ( $cgi->param('magic') ) {
               "   OR substring($table.payinfo from 1 for 3 ) = '647'   ".
               "   OR substring($table.payinfo from 1 for 3 ) = '648'   ".
               "   OR substring($table.payinfo from 1 for 3 ) = '649'   ".
-              ( $country =~ /^(US|CA)$/
-               ?" OR substring($table.payinfo from 1 for 4 ) = '3528'  ". # JCB cards in the 3528-3589 range identified as Discover inside US/CA
+              ( $country =~ /^(US|PR|VI|MP|PW|GU)$/
+               ?" OR substring($table.payinfo from 1 for 4 ) = '3528'  ". # JCB cards in the 3528-3589 range identified as Discover inside US & territories (NOT Canada)
                 " OR substring($table.payinfo from 1 for 4 ) = '3529'  ".
                 " OR substring($table.payinfo from 1 for 3 ) = '353'   ".
                 " OR substring($table.payinfo from 1 for 3 ) = '354'   ".
@@ -390,7 +397,10 @@ if ( $cgi->param('magic') ) {
                 " OR substring($table.payinfo from 1 for 3 ) = '358'   "
                :""
               ).
-              "   OR substring($table.payinfo from 1 for 3 ) = '622'   ". #China Union Pay processed as Discover outside CN
+              ( $country =~ /^(US|MX|AI|AG|AW|BS|BB|BM|BQ|VG|KY|CW|DM|DO|GD|GP|JM|MQ|MS|BL|KN|LC|VC|MF|SX|TT|TC)$/
+               ?" OR substring($table.payinfo from 1 for 3 ) $similar_to '62[24-68]'   " #China Union Pay processed as Discover outside CN
+               :""
+              ).
               " ) ";
 
           } elsif ( $cardtype eq 'Maestro' ) {

-----------------------------------------------------------------------

Summary of changes:
 httemplate/search/elements/cust_pay_or_refund.html |   24 ++++++++++++++------
 1 file changed, 17 insertions(+), 7 deletions(-)




More information about the freeside-commits mailing list