71513: Card tokenization [token_check]
[freeside.git] / FS / FS / cust_pay.pm
index 86e7968..b15920b 100644 (file)
@@ -97,6 +97,10 @@ Payment Type (See L<FS::payinfo_Mixin> for valid values)
 
 Payment Information (See L<FS::payinfo_Mixin> for data format)
 
+=item paycardtype
+
+Credit card type, if appropriate; autodetected.
+
 =item paymask
 
 Masked payinfo (See L<FS::payinfo_Mixin> for how this works)
@@ -536,7 +540,8 @@ otherwise returns false.
 
 sub replace {
   my $self = shift;
-  return "Can't modify closed payment" if $self->closed =~ /^Y/i;
+  return "Can't modify closed payment"
+    if $self->closed =~ /^Y/i && !$FS::payinfo_Mixin::allow_closed_replace;
   $self->SUPER::replace(@_);
 }
 
@@ -1206,13 +1211,10 @@ sub _upgrade_data {  #class method
     }
   }
 
-  # unsuspendauto upgrade
-  # could just as easily go in cust_credit, or even cust_bill or cust_main
-  # but here works
-  if ($conf->exists('unsuspendauto') && !$conf->config('unsuspend_balance')) {
-    $conf->set('unsuspend_balance','Zero');
-    $conf->delete('unsuspendauto');
-  }
+  ###
+  # set paycardtype
+  ###
+  $class->upgrade_set_cardtype;
 
 }