rename cardtype to paycardtype
authorMark Wells <mark@freeside.biz>
Fri, 15 Jul 2016 22:50:27 +0000 (15:50 -0700)
committerMark Wells <mark@freeside.biz>
Fri, 15 Jul 2016 22:50:27 +0000 (15:50 -0700)
FS/FS/Schema.pm
FS/FS/Upgrade.pm
FS/FS/cust_pay.pm
FS/FS/cust_payby.pm
FS/FS/cust_refund.pm
FS/FS/payinfo_Mixin.pm

index 8307ee0..9074ae4 100644 (file)
@@ -1693,7 +1693,7 @@ sub tables_hashref {
         'weight',          'int', 'NULL',        '', '', '', 
         'payby',          'char',     '',         4, '', '', 
         'payinfo',     'varchar', 'NULL',       512, '', '', 
         'weight',          'int', 'NULL',        '', '', '', 
         'payby',          'char',     '',         4, '', '', 
         'payinfo',     'varchar', 'NULL',       512, '', '', 
-        'cardtype',    'varchar', 'NULL',   $char_d, '', '',
+        'paycardtype', 'varchar', 'NULL',   $char_d, '', '',
         'paycvv',      'varchar', 'NULL',       512, '', '', 
         'paymask',     'varchar', 'NULL',   $char_d, '', '', 
         #'paydate',   @date_type, '', '', 
         'paycvv',      'varchar', 'NULL',       512, '', '', 
         'paymask',     'varchar', 'NULL',   $char_d, '', '', 
         #'paydate',   @date_type, '', '', 
@@ -2443,7 +2443,7 @@ sub tables_hashref {
         'usernum',         'int', 'NULL',      '', '', '',
         'payby',          'char',     '',       4, '', '',
         'payinfo',     'varchar', 'NULL',     512, '', '',
         'usernum',         'int', 'NULL',      '', '', '',
         'payby',          'char',     '',       4, '', '',
         'payinfo',     'varchar', 'NULL',     512, '', '',
-        'cardtype',    'varchar', 'NULL',   $char_d, '', '',
+        'paycardtype', 'varchar', 'NULL',   $char_d, '', '',
         'paymask',     'varchar', 'NULL', $char_d, '', '', 
         'paydate',     'varchar', 'NULL',      10, '', '', 
         'paybatch',    'varchar', 'NULL', $char_d, '', '',#for auditing purposes
         'paymask',     'varchar', 'NULL', $char_d, '', '', 
         'paydate',     'varchar', 'NULL',      10, '', '', 
         'paybatch',    'varchar', 'NULL', $char_d, '', '',#for auditing purposes
@@ -2501,7 +2501,7 @@ sub tables_hashref {
         'usernum',         'int', 'NULL',      '', '', '',
         'payby',          'char',     '',       4, '', '',
         'payinfo',     'varchar', 'NULL',     512, '', '',
         'usernum',         'int', 'NULL',      '', '', '',
         'payby',          'char',     '',       4, '', '',
         'payinfo',     'varchar', 'NULL',     512, '', '',
-        'cardtype',    'varchar', 'NULL',   $char_d, '', '',
+        'paycardtype', 'varchar', 'NULL',   $char_d, '', '',
         'paymask',     'varchar', 'NULL', $char_d, '', '', 
         #'paydate' ?
         'paybatch',    'varchar', 'NULL', $char_d, '', '', #for auditing purposes.
         'paymask',     'varchar', 'NULL', $char_d, '', '', 
         #'paydate' ?
         'paybatch',    'varchar', 'NULL', $char_d, '', '', #for auditing purposes.
@@ -3061,7 +3061,7 @@ sub tables_hashref {
                                                      # be index into payby
                                                      # table eventually
         'payinfo',      'varchar',   'NULL', 512, '', '', #see cust_main above
                                                      # be index into payby
                                                      # table eventually
         'payinfo',      'varchar',   'NULL', 512, '', '', #see cust_main above
-        'cardtype',    'varchar', 'NULL',   $char_d, '', '',
+        'paycardtype',  'varchar', 'NULL',   $char_d, '', '',
         'paymask', 'varchar', 'NULL', $char_d, '', '', 
         'paybatch',     'varchar',   'NULL', $char_d, '', '', 
         'closed',    'char', 'NULL', 1, '', '', 
         'paymask', 'varchar', 'NULL', $char_d, '', '', 
         'paybatch',     'varchar',   'NULL', $char_d, '', '', 
         'closed',    'char', 'NULL', 1, '', '', 
index 3aa3e53..6f14cd2 100644 (file)
@@ -422,7 +422,7 @@ sub upgrade_data {
     'cust_refund' => [],
     'banned_pay' => [],
 
     'cust_refund' => [],
     'banned_pay' => [],
 
-    #cardtype
+    #paycardtype
     'cust_payby' => [],
 
     #default namespace
     'cust_payby' => [],
 
     #default namespace
index 8e87745..e0a7143 100644 (file)
@@ -97,7 +97,7 @@ Payment Type (See L<FS::payinfo_Mixin> for valid values)
 
 Payment Information (See L<FS::payinfo_Mixin> for data format)
 
 
 Payment Information (See L<FS::payinfo_Mixin> for data format)
 
-=item cardtype
+=item paycardtype
 
 Credit card type, if appropriate; autodetected.
 
 
 Credit card type, if appropriate; autodetected.
 
@@ -1211,7 +1211,7 @@ sub _upgrade_data {  #class method
   }
 
   ###
   }
 
   ###
-  # set cardtype
+  # set paycardtype
   ###
   $class->upgrade_set_cardtype;
 
   ###
   $class->upgrade_set_cardtype;
 
index 993bab5..facb9c8 100644 (file)
@@ -115,7 +115,7 @@ paytype
 
 payip
 
 
 payip
 
-=item cardtype
+=item paycardtype
 
 The credit card type (deduced from the card number).
 
 
 The credit card type (deduced from the card number).
 
@@ -354,10 +354,11 @@ sub check {
       or return gettext('invalid_card'); # . ": ". $self->payinfo;
 
     my $cardtype = cardtype($payinfo);
       or return gettext('invalid_card'); # . ": ". $self->payinfo;
 
     my $cardtype = cardtype($payinfo);
-    $self->set('cardtype', $cardtype);
-    return gettext('unknown_card_type')
-      if $self->payinfo !~ /^99\d{14}$/ #token
-      && $cardtype eq "Unknown";
+    $cardtype = 'Tokenized' if $self->payinfo !~ /^99\d{14}$/; #token
+    
+    return gettext('unknown_card_type') if $cardtype eq "Unknown";
+    
+    $self->set('paycardtype', $cardtype);
 
     unless ( $ignore_banned_card ) {
       my $ban = FS::banned_pay->ban_search( %{ $self->_banned_pay_hashref } );
 
     unless ( $ignore_banned_card ) {
       my $ban = FS::banned_pay->ban_search( %{ $self->_banned_pay_hashref } );
@@ -453,9 +454,9 @@ sub check {
     # either ignoring invalid cards, or we can't decrypt the payinfo, but
     # try to detect the card type anyway. this never returns failure, so
     # the contract of $ignore_invalid_cards is maintained.
     # either ignoring invalid cards, or we can't decrypt the payinfo, but
     # try to detect the card type anyway. this never returns failure, so
     # the contract of $ignore_invalid_cards is maintained.
-    $self->set('cardtype', cardtype($self->paymask));
+    $self->set('paycardtype', cardtype($self->paymask));
   } else {
   } else {
-    $self->set('cardtype', '');
+    $self->set('paycardtype', '');
   }
 
 #  } elsif ( $self->payby eq 'PREPAY' ) {
   }
 
 #  } elsif ( $self->payby eq 'PREPAY' ) {
@@ -539,11 +540,14 @@ sub check_payinfo_cardtype {
   my $payinfo = $self->payinfo;
   $payinfo =~ s/\D//g;
 
   my $payinfo = $self->payinfo;
   $payinfo =~ s/\D//g;
 
-  return '' if $payinfo =~ /^99\d{14}$/; #token
+  if ( $payinfo =~ /^99\d{14}$/ ) {
+    $self->set('paycardtype', 'Tokenized');
+    return '';
+  }
 
   my %bop_card_types = map { $_=>1 } values %{ card_types() };
   my $cardtype = cardtype($payinfo);
 
   my %bop_card_types = map { $_=>1 } values %{ card_types() };
   my $cardtype = cardtype($payinfo);
-  $self->set('cardtype', $cardtype);
+  $self->set('paycardtype', $cardtype);
 
   return "$cardtype not accepted" unless $bop_card_types{$cardtype};
 
 
   return "$cardtype not accepted" unless $bop_card_types{$cardtype};
 
@@ -619,7 +623,7 @@ sub label {
   my $self = shift;
 
   my $name = $self->payby =~ /^(CARD|DCRD)$/
   my $self = shift;
 
   my $name = $self->payby =~ /^(CARD|DCRD)$/
-              && $self->cardtype || FS::payby->shortname($self->payby);
+              && $self->paycardtype || FS::payby->shortname($self->payby);
 
   ( $self->payby =~ /^(CARD|CHEK)$/  ? $weight{$self->weight}. ' automatic '
                                      : 'Manual '
 
   ( $self->payby =~ /^(CARD|CHEK)$/  ? $weight{$self->weight}. ' automatic '
                                      : 'Manual '
index ee144c1..4d2baa5 100644 (file)
@@ -82,7 +82,7 @@ Payment Type (See L<FS::payinfo_Mixin> for valid payby values)
 
 Payment Information (See L<FS::payinfo_Mixin> for data format)
 
 
 Payment Information (See L<FS::payinfo_Mixin> for data format)
 
-=item cardtype
+=item paycardtype
 
 Detected credit card type, if appropriate; autodetected.
 
 
 Detected credit card type, if appropriate; autodetected.
 
index b32f13b..a61125e 100644 (file)
@@ -194,9 +194,12 @@ sub payinfo_check {
     or return "Illegal payby: ". $self->payby;
 
   if ( $self->payby eq 'CARD' && ! $self->is_encrypted($self->payinfo) ) {
     or return "Illegal payby: ". $self->payby;
 
   if ( $self->payby eq 'CARD' && ! $self->is_encrypted($self->payinfo) ) {
+
     my $payinfo = $self->payinfo;
     my $cardtype = cardtype($payinfo);
     my $payinfo = $self->payinfo;
     my $cardtype = cardtype($payinfo);
-    $self->set('cardtype', $cardtype);
+    $cardtype = 'Tokenized' if $payinfo !~ /^99\d{14}$/;
+    $self->set('paycardtype', $cardtype);
+
     if ( $ignore_masked_payinfo and $self->mask_payinfo eq $self->payinfo ) {
       # allow it
     } else {
     if ( $ignore_masked_payinfo and $self->mask_payinfo eq $self->payinfo ) {
       # allow it
     } else {
@@ -207,8 +210,7 @@ sub payinfo_check {
           or return "Illegal (mistyped?) credit card number (payinfo)";
         $self->payinfo($1);
         validate($self->payinfo) or return "Illegal credit card number";
           or return "Illegal (mistyped?) credit card number (payinfo)";
         $self->payinfo($1);
         validate($self->payinfo) or return "Illegal credit card number";
-        return "Unknown card type" if $self->payinfo !~ /^99\d{14}$/ #token
-                                   && $cardtype eq "Unknown";
+        return "Unknown card type" if $cardtype eq "Unknown";
       } else {
         $self->payinfo('N/A'); #???
       }
       } else {
         $self->payinfo('N/A'); #???
       }
@@ -216,9 +218,9 @@ sub payinfo_check {
   } else {
     if ( $self->payby eq 'CARD' and $self->paymask ) {
       # if we can't decrypt the card, at least detect the cardtype
   } else {
     if ( $self->payby eq 'CARD' and $self->paymask ) {
       # if we can't decrypt the card, at least detect the cardtype
-      $self->set('cardtype', cardtype($self->paymask));
+      $self->set('paycardtype', cardtype($self->paymask));
     } else {
     } else {
-      $self->set('cardtype', '');
+      $self->set('paycardtype', '');
     }
     if ( $self->is_encrypted($self->payinfo) ) {
       #something better?  all it would cause is a decryption error anyway?
     }
     if ( $self->is_encrypted($self->payinfo) ) {
       #something better?  all it would cause is a decryption error anyway?
@@ -415,8 +417,8 @@ sub paydate_epoch_sql {
 
 =item upgrade_set_cardtype
 
 
 =item upgrade_set_cardtype
 
-Find all records with a credit card payment type and no cardtype, and
-replace them in order to set their cardtype.
+Find all records with a credit card payment type and no paycardtype, and
+replace them in order to set their paycardtype.
 
 =cut
 
 
 =cut
 
@@ -427,7 +429,7 @@ sub upgrade_set_cardtype {
   local $ignore_masked_payinfo = 1;
   my $search = FS::Cursor->new({
     table     => $class->table,
   local $ignore_masked_payinfo = 1;
   my $search = FS::Cursor->new({
     table     => $class->table,
-    extra_sql => q[ WHERE payby IN('CARD','DCRD') AND cardtype IS NULL ],
+    extra_sql => q[ WHERE payby IN('CARD','DCRD') AND paycardtype IS NULL ],
   });
   while (my $record = $search->fetch) {
     my $error = $record->replace;
   });
   while (my $record = $search->fetch) {
     my $error = $record->replace;