'section' => 'billing',
'description' => 'Available payment types.',
'type' => 'selectmultiple',
- 'select_enum' => [ qw(CARD DCRD CHEK DCHK LECB BILL CASH WEST COMP) ],
+ 'select_enum' => [ qw(CARD DCRD CHEK DCHK LECB BILL CASH WEST MCRD COMP) ],
},
{
'section' => 'UI',
'description' => 'Default payment type. HIDE disables display of billing information and sets customers to BILL.',
'type' => 'select',
- 'select_enum' => [ '', qw(CARD DCRD CHEK DCHK LECB BILL CASH WEST COMP HIDE) ],
+ 'select_enum' => [ '', qw(CARD DCRD CHEK DCHK LECB BILL CASH WEST MCRD COMP HIDE) ],
},
{
$payby = 'PREP' if $amount;
- } elsif ( $self->payby =~ /^(CASH|WEST)$/ ) {
+ } elsif ( $self->payby =~ /^(CASH|WEST|MCRD)$/ ) {
$payby = $1;
$self->payby('BILL');
shift->insert_cust_pay('CASH', @_);
}
-=item insert_cust_pay_prepay AMOUNT [ PAYINFO ]
+=item insert_cust_pay_west AMOUNT [ PAYINFO ]
Inserts a Western Union payment in the specified amount for this customer. An
optional second argument can specify the prepayment identifier for tracking
}
}
- $self->payby =~ /^(CARD|DCRD|CHEK|DCHK|LECB|BILL|COMP|PREPAY|CASH|WEST)$/
+ $self->payby =~ /^(CARD|DCRD|CHEK|DCHK|LECB|BILL|COMP|PREPAY|CASH|WEST|MCRD)$/
or return "Illegal payby: ". $self->payby;
$error = $self->ut_numbern('paystart_month')
if ( $self->paydate eq '' || $self->paydate eq '-' ) {
return "Expriation date required"
- unless $self->payby =~ /^(BILL|PREPAY|CHEK|DCHK|LECB|CASH|WEST)$/;
+ unless $self->payby =~ /^(BILL|PREPAY|CHEK|DCHK|LECB|CASH|WEST|MCRD)$/;
$self->paydate('');
} else {
my( $m, $y );
=item payby - `CARD' (credit cards), `CHEK' (electronic check/ACH),
`LECB' (phone bill billing), `BILL' (billing), `PREP` (prepaid card),
-`CASH' (cash), `WEST' (Western Union) or `COMP' (free)
+`CASH' (cash), `WEST' (Western Union), `MCRD' (Manual credit card), or
+`COMP' (free)
=item payinfo - card number, check #, or comp issuer (4-8 lowercase alphanumerics; think username), respectively
$self->_date(time) unless $self->_date;
- $self->payby =~ /^(CARD|CHEK|LECB|BILL|COMP|PREP|CASH|WEST)$/
+ $self->payby =~ /^(CARD|CHEK|LECB|BILL|COMP|PREP|CASH|WEST|MCRD)$/
or return "Illegal payby";
$self->payby($1);
=item payby - `CARD' (credit cards), `CHEK' (electronic check/ACH),
`LECB' (phone bill billing), `BILL' (billing), `CASH' (cash),
-`WEST' (Western Union) or `COMP' (free)
+`WEST' (Western Union), `MCRD' (Manual credit card), or `COMP' (free)
=item payinfo - card number, check #, or comp issuer (4-8 lowercase alphanumerics; think username), respectively
$self->void_date(time) unless $self->void_date;
- $self->payby =~ /^(CARD|CHEK|LECB|BILL|COMP|PREP|CASH|WEST)$/
+ $self->payby =~ /^(CARD|CHEK|LECB|BILL|COMP|PREP|CASH|WEST|MCRD)$/
or return "Illegal payby";
$self->payby($1);
=item payby - `CARD' (credit cards), `CHEK' (electronic check/ACH),
`LECB' (Phone bill billing), `BILL' (billing), `CASH' (cash),
-`WEST' (Western Union), or `COMP' (free)
+`WEST' (Western Union), `MCRD' (Manual credit card), or `COMP' (free)
=item payinfo - card number, P.O.#, or comp issuer (4-8 lowercase alphanumerics; think username)
unless $self->crednum
|| qsearchs( 'cust_main', { 'custnum' => $self->custnum } );
- $self->payby =~ /^(CARD|CHEK|LECB|BILL|COMP|CASH|WEST)$/
+ $self->payby =~ /^(CARD|CHEK|LECB|BILL|COMP|CASH|WEST|MCRD)$/
or return "Illegal payby";
$self->payby($1);
'</TABLE>',
+ 'MCRD' =>
+
+ '<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192>'.
+
+ qq!<TR><TD ALIGN="right" WIDTH="200">${r}Amount </TD>!.
+ qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="paid" VALUE="!. ( $payby eq 'MCRD' ? $cust_main->paid : '' ). qq!"></TD></TR>!.
+
+ '<TR><TD> </TD></TR>'.
+ '<TR><TD> </TD></TR>'.
+ '<TR><TD> </TD></TR>'.
+ '<TR><TD> </TD></TR>'.
+ '<TR><TD> </TD></TR>'.
+ '<TR><TD> </TD></TR>'.
+
+ '</TABLE>',
+
);
'BILL' => 'Billing',
'CASH' => 'Cash', # initial payment, then billing',
'WEST' => 'Western Union', # initial payment, then billing',
+ 'MCRD' => 'Manual credit card', # initial payment, then billing',
'COMP' => 'Complimentary',
);
- if ( $cust_main->custnum ) { #don't offer CASH and WEST initial payment types
+ if ( $cust_main->custnum ) { #don't offer CASH/WEST/MCRD initial payment types
# when editing customer
- delete $allopt{$_} for qw(CASH WEST);
+ delete $allopt{$_} for qw(CASH WEST MCRD);
}
tie my %options, 'Tie::IxHash',
#'form_action' => 'nothingyet',
#chops bottom of page in IE# 'under_position' => 'absolute',
'html_between' => '</TD></TR></TABLE>',
- 'selected_layer' => $payby2option{$payby} || 'CARD',
+ 'selected_layer' => $payby2option{$payby || $payby_default || $payby[0] },
'layer_callback' => sub { my $layer = shift; $payby{$layer}; },
);
'BILL' => 'Check',
'CASH' => 'Cash',
'WEST' => 'Western Union',
+ 'MCRD' => 'Manual credit card',
);
my($link, $linknum, $paid, $payby, $payinfo, $quickpay, $_date);
if ( $cgi->param('payby') ) {
$cgi->param('payby') =~
- /^(CARD|CHEK|BILL|PREP|CASH|WEST)(-(VisaMC|Amex|Discover|Maestro))?$/
+ /^(CARD|CHEK|BILL|PREP|CASH|WEST|MCRD)(-(VisaMC|Amex|Discover|Maestro))?$/
or die "illegal payby ". $cgi->param('payby');
push @search, "cust_pay.payby = '$1'";
if ( $3 ) {
'Cash '. $cust_pay->payinfo;
} elsif ( $cust_pay->payby eq 'WEST' ) {
'Western Union'; #. $cust_pay->payinfo;
+ } elsif ( $cust_pay->payby eq 'MCRD' ) {
+ 'Manual credit card'; #. $cust_pay->payinfo;
} else {
$cust_pay->payby. ' '. $cust_pay->payinfo;
}
<OPTION VALUE="PREP">prepaid card</OPTION>
<OPTION VALUE="CASH">cash</OPTION>
<OPTION VALUE="WEST">Western Union</OPTION>
+ <OPTION VALUE="MCRD">manual credit card</OPTION>
</SELECT>
</TD>
</TR>
)) %>
<% if ( $cust_bill->owed > 0
- && ( $payby{'BILL'} || $payby{'CASH'} || $payby{'WEST'} )
+ && ( $payby{'BILL'} || $payby{'CASH'} || $payby{'WEST'} || $payby{'MCRD'} )
)
{
my $s = 0;
<% } %>
+ <% if ( $payby{'MCRD'} ) { %>
+
+ <%= $s++ ? ' | ' : '' %>
+ <A HREF="<%= $p %>edit/cust_pay.cgi?payby=MCRD;invnum=<%= $invnum %>">manual credit card</A>
+
+ <% } %>
+
payment against this invoice<BR>
<% } %>
<% } %>
+<% if ( $payby{'MCRD'} ) { %>
+
+ <%= $s++ ? ' | ' : '' %>
+ <A HREF="<%= $p %>edit/cust_pay.cgi?payby=MCRD;custnum=<%= $custnum %>">Post manual credit card payment</A>
+
+<% } %>
+
<BR><A HREF="<%= $p %>edit/cust_credit.cgi?<%= $custnum %>">Post credit</A>
<BR>
$payby =~ s/^COMP$/Complimentary by /;
$payby =~ s/^CASH$/Cash/;
$payby =~ s/^WEST$/Western Union/;
+ $payby =~ s/^MCRD$/Manual credit card/;
$payby =~ s/^BILL$//;
my $info = $payby ? " ($payby$payinfo)" : '';