summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/Conf.pm2
-rw-r--r--FS/FS/cust_main.pm3
-rw-r--r--FS/FS/payby.pm10
-rw-r--r--FS/FS/payinfo_Mixin.pm32
4 files changed, 23 insertions, 24 deletions
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index b7c64f26e..7c99583b8 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -2607,7 +2607,7 @@ and customer address. Include units.',
'section' => 'billing',
'description' => 'Available payment types.',
'type' => 'selectmultiple',
- 'select_enum' => [ qw(CARD DCRD CHEK DCHK LECB BILL CASH WEST MCRD PPAL COMP) ],
+ 'select_enum' => [ qw(CARD DCRD CHEK DCHK LECB BILL CASH WEST MCRD MCHK PPAL COMP) ],
},
{
diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm
index d7d5869b0..3ad7f99bb 100644
--- a/FS/FS/cust_main.pm
+++ b/FS/FS/cust_main.pm
@@ -392,7 +392,7 @@ sub insert {
$payby = 'PREP' if $amount;
- } elsif ( $self->payby =~ /^(CASH|WEST|MCRD|PPAL)$/ ) {
+ } elsif ( $self->payby =~ /^(CASH|WEST|MCRD|MCHK|PPAL)$/ ) {
$payby = $1;
$self->payby('BILL');
@@ -3459,6 +3459,7 @@ Old-style:
=cut
+#super false laziness w/quotation::charge
sub charge {
my $self = shift;
my ( $amount, $setup_cost, $quantity, $start_date, $classnum );
diff --git a/FS/FS/payby.pm b/FS/FS/payby.pm
index c66691785..2e2a664df 100644
--- a/FS/FS/payby.pm
+++ b/FS/FS/payby.pm
@@ -113,6 +113,12 @@ tie %hash, 'Tie::IxHash',
longname => 'Manual credit card',
cust_main => 'BILL', #this is a payment type only, customers go to BILL...
},
+ 'MCHK' => { #not the same as DCHK
+ tinyname => 'card',
+ shortname => 'Manual electronic check', # initial payment, then billing
+ longname => 'Manual electronic check',
+ cust_main => 'BILL', #this is a payment type only, customers go to BILL...
+ },
'APPL' => {
tinyname => 'apple store',
shortname => 'Apple Store',
@@ -207,7 +213,9 @@ sub longname {
%payby2bop = (
'CARD' => 'CC',
'CHEK' => 'ECHECK',
- 'MCRD' => 'CC',
+ 'MCRD' => 'CC', #? but doesn't MCRD mean _offline_ card? i think it got
+ # overloaded for third-party card payments -- but no one is
+ # doing those other than paypal now
'PPAL' => 'PAYPAL',
);
diff --git a/FS/FS/payinfo_Mixin.pm b/FS/FS/payinfo_Mixin.pm
index b030bd734..7025e4e38 100644
--- a/FS/FS/payinfo_Mixin.pm
+++ b/FS/FS/payinfo_Mixin.pm
@@ -38,14 +38,15 @@ For Customers (cust_main):
For Refunds (cust_refund):
'CARD' (credit cards), 'CHEK' (electronic check/ACH),
'LECB' (Phone bill billing), 'BILL' (billing), 'CASH' (cash),
-'WEST' (Western Union), 'MCRD' (Manual credit card), 'CBAK' Chargeback, or 'COMP' (free)
+'WEST' (Western Union), 'MCRD' (Manual credit card), 'MCHK' (Manual electronic
+check), 'CBAK' Chargeback, or 'COMP' (free)
For Payments (cust_pay):
'CARD' (credit cards), 'CHEK' (electronic check/ACH),
'LECB' (phone bill billing), 'BILL' (billing), 'PREP' (prepaid card),
-'CASH' (cash), 'WEST' (Western Union), 'MCRD' (Manual credit card),
-'PPAL' (PayPal)
+'CASH' (cash), 'WEST' (Western Union), 'MCRD' (Manual credit card), 'MCHK'
+(Manual electronic check), 'PPAL' (PayPal)
'COMP' (free) is depricated as a payment type in cust_pay
=cut
@@ -133,7 +134,11 @@ sub mask_payinfo {
return 'N/A (tokenized)'; #?
} else { # if not, mask it...
- if ($payby eq 'CARD' || $payby eq 'DCRD' || $payby eq 'MCRD') {
+ if ($payby eq 'CARD' || $payby eq 'DCRD') {
+ #|| $payby eq 'MCRD') {
+ #MCRD isn't a card in payinfo,
+ #its a record of an _offline_
+ #card
# Credit Cards
@@ -181,23 +186,6 @@ sub mask_payinfo {
Checks payby and payinfo.
-For Customers (cust_main):
-'CARD' (credit card - automatic), 'DCRD' (credit card - on-demand),
-'CHEK' (electronic check - automatic), 'DCHK' (electronic check - on-demand),
-'LECB' (Phone bill billing), 'BILL' (billing), 'COMP' (free), or
-'PREPAY' (special billing type: applies a credit - see L<FS::prepay_credit> and sets billing type to I<BILL>)
-
-For Refunds (cust_refund):
-'CARD' (credit cards), 'CHEK' (electronic check/ACH),
-'LECB' (Phone bill billing), 'BILL' (billing), 'CASH' (cash),
-'WEST' (Western Union), 'MCRD' (Manual credit card), 'CBAK' (Chargeback), or 'COMP' (free)
-
-For Payments (cust_pay):
-'CARD' (credit cards), 'CHEK' (electronic check/ACH),
-'LECB' (phone bill billing), 'BILL' (billing), 'PREP' (prepaid card),
-'CASH' (cash), 'WEST' (Western Union), or 'MCRD' (Manual credit card)
-'COMP' (free) is depricated as a payment type in cust_pay
-
=cut
sub payinfo_check {
@@ -280,6 +268,8 @@ sub payby_payinfo_pretty {
$lh->maketext('Western Union');
} elsif ( $self->payby eq 'MCRD' ) {
$lh->maketext('Manual credit card');
+ } elsif ( $self->payby eq 'MCHK' ) {
+ $lh->maketext('Manual electronic check');
} elsif ( $self->payby eq 'EDI' ) {
$lh->maketext('EDI') . ' ' . $self->paymask;
} elsif ( $self->payby eq 'PPAL' ) {