add to ACH batch feature from customer view page
[freeside.git] / httemplate / misc / process / payment.cgi
index d591db1..9ac5d5d 100644 (file)
@@ -26,7 +26,7 @@
 %my $payby = $1;
 %my %payby2fields = (
 %  'CARD' => [ qw( address1 address2 city state zip ) ],
-%  'CHEK' => [ qw( ss ) ],
+%  'CHEK' => [ qw( ss paytype paystate stateid stateid_state ) ],
 %);
 %my %type = ( 'CARD' => 'credit card',
 %             'CHEK' => 'electronic check (ACH)',
@@ -44,7 +44,7 @@
 %my $paycvv = '';
 %if ( $payby eq 'CHEK' ) {
 %
-%  if ($cgi->param('payinfo1') =~ /xx/ || $cgi->param('payinfo2') =~ /xx/ ) {
+%  if ($cgi->param('payinfo1') =~ /xx/i || $cgi->param('payinfo2') =~ /xx/i ) {
 %    $payinfo = $cust_main->payinfo;
 %  } else {
 %    $cgi->param('payinfo1') =~ /^(\d+)$/
 %  die "unknown payby $payby";
 %}
 %
-%my $error = $cust_main->realtime_bop( $FS::payby::payby2bop{$payby}, $amount,
-%  'quiet'    => 1,
-%  'payinfo'  => $payinfo,
-%  'paydate'  => "$year-$month-01",
-%  'payname'  => $payname,
-%  'paybatch' => $paybatch,
-%  'paycvv'   => $paycvv,
-%  map { $_ => $cgi->param($_) } @{$payby2fields{$payby}}
-%);
-%eidiot($error) if $error;
-%
-%$cust_main->apply_payments;
+%my $error = '';
+%if ($cgi->param('batch')) {
+%  $error = $cust_main->batch_card(
+%                                   'payby'    => $payby,
+%                                   'amount'   => $amount,
+%                                   'payinfo'  => $payinfo,
+%                                   'paydate'  => "$year-$month-01",
+%                                   'payname'  => $payname,
+%                                   map { $_ => $cgi->param($_) } 
+%                                     @{$payby2fields{$payby}}
+%                                 );
+%  eidiot($error) if $error;
+%}else{
+%  $error = $cust_main->realtime_bop( $FS::payby::payby2bop{$payby}, $amount,
+%    'quiet'    => 1,
+%    'manual'   => 1,
+%    'payinfo'  => $payinfo,
+%    'paydate'  => "$year-$month-01",
+%    'payname'  => $payname,
+%    'paybatch' => $paybatch,
+%    'paycvv'   => $paycvv,
+%    map { $_ => $cgi->param($_) } @{$payby2fields{$payby}}
+%  );
+%  eidiot($error) if $error;
+%
+%  $cust_main->apply_payments;
+%}
 %
 %if ( $cgi->param('save') ) {
 %  my $new = new FS::cust_main { $cust_main->hash };
 %
 
 <% include( '/elements/header.html', ucfirst($type{$payby}). ' processing successful',
-             include('/elements/menubar.html',
-                       'Main menu' => popurl(3),
-                       "View this customer (#$custnum)" =>
-                         popurl(3). "view/cust_main.cgi?$custnum",
-                    ),
+             include('/elements/menubar.html'),
 
     )
 %>
-<% include( '/elements/small_custview.html', $cust_main ) %>
+<% include( '/elements/small_custview.html', $cust_main, '', '', popurl(3). "view/cust_main.cgi" ) %>
 </BODY>
 </HTML>