our $ignore_expired_card = 0;
our $ignore_banned_card = 0;
our $ignore_invalid_card = 0;
+our $ignore_cardtype = 0;
our $conf;
install_callback FS::UID sub {
sub check_payinfo_cardtype {
my $self = shift;
+ return '' if $ignore_cardtype;
+
+ return '' unless $self->payby =~ /^(CARD|CHEK)$/;
+
my $payinfo = $self->payinfo;
$payinfo =~ s/\D//g;
}
+=item label
+
+Returns a one line text label for this payment type.
+
+=cut
+
+my %weight = (
+ 1 => 'Primary',
+ 2 => 'Secondary',
+ 3 => 'Tertiary',
+ 4 => 'Fourth',
+ 5 => 'Fifth',
+ 6 => 'Sixth',
+ 7 => 'Seventh',
+);
+
+sub label {
+ my $self = shift;
+
+ my $name = $self->payby =~ /^(CARD|DCRD)$/
+ && cardtype($self->paymask) || FS::payby->shortname($self->payby);
+
+ ( $self->payby =~ /^(CARD|CHEK)$/ ? $weight{$self->weight}. ' automatic '
+ : 'Manual '
+ ).
+ "$name: ". $self->paymask.
+ ( $self->payby =~ /^(CARD|DCRD)$/
+ ? ' Exp '. join('/', $self->paydate_mon_year)
+ : ''
+ );
+
+}
+
=item realtime_bop
=cut