<& /elements/header.html, mt("Process [_1] payment",$type{$payby}) &>
<& /elements/small_custview.html, $cust_main, '', '', popurl(2) . "view/cust_main.cgi" &>
+<BR>
+
<FORM NAME="OneTrueForm" ACTION="process/payment.cgi" METHOD="POST" onSubmit="document.OneTrueForm.process.disabled=true">
<INPUT TYPE="hidden" NAME="custnum" VALUE="<% $custnum %>">
<INPUT TYPE="hidden" NAME="payby" VALUE="<% $payby %>">
<& /elements/init_overlib.html &>
-<% ntable('#cccccc') %>
+<TABLE class="fsinnerbox">
<& /elements/tr-amount_fee.html,
'amount' => $amount,
'process-display' => scalar($conf->config('manual_process-display')),
'process-skip_first' => $conf->exists('manual_process-skip_first'),
'num_payments' => scalar($cust_main->cust_pay),
- 'surcharge_percentage' => scalar($conf->config('credit-card-surcharge-percentage')),
+ 'surcharge_percentage' =>
+ ( $payby eq 'CARD'
+ ? scalar($conf->config('credit-card-surcharge-percentage'))
+ : 0
+ ),
&>
% if ( $conf->exists('part_pkg-term_discounts') ) {
<TD ALIGN="right"><% mt('Account number') |h %></TD>
<TD><INPUT TYPE="text" SIZE=10 NAME="payinfo1" VALUE="<%$account%>"></TD>
<TD ALIGN="right"><% mt('Type') |h %></TD>
- <TD><SELECT NAME="paytype"><% join('', map { qq!<OPTION VALUE="$_" !.($paytype eq $_ ? 'SELECTED' : '').">$_</OPTION>" } @FS::cust_main::paytypes) %></SELECT></TD>
+ <TD><SELECT NAME="paytype"><% join('', map { qq!<OPTION VALUE="$_" !.($paytype eq $_ ? 'SELECTED' : '').">$_</OPTION>" } FS::cust_payby->paytypes) %></SELECT></TD>
</TR>
<TR>
<TD ALIGN="right"><% mt($routing_label) |h %></TD>
my $amount = '';
if ( $balance > 0 ) {
- $amount = $balance;
+ # when configured to do so, amount will only auto-fill with balance
+ # if balance represents a single invoice
+ $amount = $balance
+ unless $conf->exists('manual_process-single_invoice_amount')
+ && ($cust_main->open_cust_bill != 1);
}
my $payunique = "webui-payment-". time. "-$$-". rand() * 2**32;