% my $auto = 0; % if ( $payby eq 'CARD' ) { % % my( $payinfo, $paycvv, $month, $year ) = ( '', '', '', '' ); % my $payname = $cust_main->first. ' '. $cust_main->getfield('last'); % my $location = $cust_main->bill_location; <% mt('Card number') |h %>
<% mt('Exp.') |h %> /
<% mt('CVV2') |h %> (<% mt('help') |h %>) <% mt('Exact name on card') |h %> <& /elements/location.html, 'object' => $location, 'no_asterisks' => 1, 'address1_label' => emt('Card billing address'), &> % } elsif ( $payby eq 'CHEK' ) { % % my( $account, $aba, $branch, $payname, $ss, $paytype, $paystate, % $stateid, $stateid_state ) % = ( '', '', '', '', '', '', '', '', '' ); % % #false laziness w/{edit,view}/cust_main/billing.html % my $routing_label = $conf->config('echeck-country') eq 'US' % ? 'ABA/Routing number' % : 'Routing number'; % my $routing_size = $conf->config('echeck-country') eq 'CA' ? 4 : 10; % my $routing_maxlength = $conf->config('echeck-country') eq 'CA' ? 3 : 9; <% mt('Account number') |h %> <% mt('Type') |h %> <% mt($routing_label) |h %> (<% mt('help') |h %>) % if ( $conf->config('echeck-country') eq 'CA' ) { <% mt('Branch number') |h %> % } <% mt('Bank name') |h %> % if ( $conf->exists('show_bankstate') ) { <% mt('Bank state') |h %> <& /elements/select-state.html, 'disable_empty' => 0, 'empty_label' => emt('(choose)'), 'state' => $paystate, 'country' => $cust_main->country, 'prefix' => 'pay', &> % } else { % } % if ( $conf->exists('show_ss') ) { <% mt('Account holder') |h %>
<% mt('Social security or tax ID #') |h %> % } else { % } % if ( $conf->exists('show_stateid') ) { <% mt('Account holder') |h %>
<% mt("Driver's license or state ID #") |h %> <% mt('State') |h %> <& /elements/select-state.html, 'disable_empty' => 0, 'empty_label' => emt('(choose)'), 'state' => $stateid_state, 'country' => $cust_main->country, 'prefix' => 'stateid_', &> % } else { % } % } #end CARD/CHEK-specific section <% mt('Remember this information') |h %> NAME="auto" VALUE="1" onClick="if (this.checked) { document.OneTrueForm.save.checked=true; }"> <% mt("Charge future payments to this [_1] automatically",$type{$payby}) |h %> % if ( @cust_payby ) { <% mt('as') |h %> % } else { % } <%once> my %weight = ( 1 => 'Primary', 2 => 'Secondary', 3 => 'Tertiary', 4 => 'Fourth', 5 => 'Fifth', 6 => 'Sixth', 7 => 'Seventh', ); <%init> my %opt = @_; my @cust_payby = @{$opt{cust_payby}}; 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 = ''; my $conf = new FS::Conf; #false laziness w/selfservice make_payment.html shortcut for one-country my %states = map { $_->state => 1 } qsearch('cust_main_county', { 'country' => $conf->config('countrydefault') || 'US' } ); my @states = sort { $a cmp $b } keys %states;