<% my %type = ( 'CARD' => 'credit card', 'CHEK' => 'electronic check (ACH)', ); $cgi->param('payby') =~ /^(CARD|CHEK)$/ or die "unknown payby ". $cgi->param('payby'); my $payby = $1; $cgi->param('custnum') =~ /^(\d+)$/ or die "illegal custnum ". $cgi->param('custnum'); my $custnum = $1; my $cust_main = qsearchs( 'cust_main', { 'custnum'=>$custnum } ); die "unknown custnum $custnum" unless $cust_main; my $balance = $cust_main->balance; my $payinfo = ''; #false laziness w/selfservice make_payment.html shortcut for one-country my $conf = new FS::Conf; my %states = map { $_->state => 1 } qsearch('cust_main_county', { 'country' => $conf->config('defaultcountry') || 'US' } ); my @states = sort { $a cmp $b } keys %states; my $paybatch = "webui-payment-". time. "-$$-". rand() * 2**32; %> <%= include( '/elements/header.html', "Process $type{$payby} payment" ) %> <%= include( '/elements/small_custview.html', $cust_main ) %>
<% #include( '/elements/table.html', '#cccccc' ) %> <%= ntable('#cccccc') %> Payment amount
$">
<% if ( $payby eq 'CARD' ) { my( $payinfo, $paycvv, $month, $year ) = ( '', '', '', '' ); my $payname = $cust_main->first. ' '. $cust_main->getfield('last'); my $address1 = $cust_main->address1; my $address2 = $cust_main->address2; my $city = $cust_main->city; my $state = $cust_main->state; my $zip = $cust_main->zip; if ( $cust_main->payby =~ /^(CARD|DCRD)$/ ) { $payinfo = $cust_main->payinfo; $paycvv = $cust_main->paycvv; ( $month, $year ) = $cust_main->paydate_monthyear; $payname = $cust_main->payname if $cust_main->payname; } %> Card number
Exp. /
CVV2 (help) Exact name on card Card billing address Address line 2 City
State Zip
<% } elsif ( $payby eq 'CHEK' ) { my( $payinfo1, $payinfo2, $payname, $ss ) = ( '', '', '', '' ); if ( $cust_main->payby =~ /^(CHEK|DCHK)$/ ) { $cust_main->payinfo =~ /^(\d+)\@(\d+)$/ or die "unparsable payinfo ". $cust_main->payinfo; ($payinfo1, $payinfo2) = ($1, $2); $payname = $cust_main->payname; $ss = $cust_main->ss; } %> Account number ABA/Routing number (help) Bank name Account holder
Social security or tax ID # <% } %> Remember this information NAME="auto" VALUE="1" onClick="if (this.checked) { document.OneTrueForm.save.checked=true; }"> Charge future payments to this <%= $type{$payby} %> automatically