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)
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(@_);
}
}
}
- # 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;
}