echeck/ACH refunds
authorivan <ivan>
Tue, 14 Sep 2004 13:00:47 +0000 (13:00 +0000)
committerivan <ivan>
Tue, 14 Sep 2004 13:00:47 +0000 (13:00 +0000)
FS/FS/cust_main.pm
httemplate/edit/cust_refund.cgi
httemplate/edit/process/cust_refund.cgi
httemplate/view/cust_main.cgi

index 1540b61..a4a7935 100644 (file)
@@ -2208,7 +2208,7 @@ sub realtime_refund_bop {
     'payby'    => $method2payby{$method},
     'payinfo'  => $self->payinfo,
     'paybatch' => $paybatch,
     'payby'    => $method2payby{$method},
     'payinfo'  => $self->payinfo,
     'paybatch' => $paybatch,
-    'reason'   => $options{'reason'} || 'card refund',
+    'reason'   => $options{'reason'} || 'card or ACH refund',
   } );
   my $error = $cust_refund->insert;
   if ( $error ) {
   } );
   my $error = $cust_refund->insert;
   if ( $error ) {
index 425c177..8955c7c 100755 (executable)
@@ -49,6 +49,7 @@ if ( $cust_pay ) {
   my $payby = $cust_pay->payby;
   my $payinfo = $cust_pay->payinfo;
   $payby =~ s/^BILL$/Check/ if $payinfo;
   my $payby = $cust_pay->payby;
   my $payinfo = $cust_pay->payinfo;
   $payby =~ s/^BILL$/Check/ if $payinfo;
+  $payby =~ s/^CHEK$/Electronic check/;
   $payinfo = $cust_pay->payinfo_masked if $payby eq 'CARD';
 
   print '<BR>Payment'. ntable("#cccccc", 2).
   $payinfo = $cust_pay->payinfo_masked if $payby eq 'CARD';
 
   print '<BR>Payment'. ntable("#cccccc", 2).
index fc16357..7055d8e 100755 (executable)
@@ -6,14 +6,19 @@ my $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } )
   or die "unknown custnum $custnum";
 
 my $error = '';
   or die "unknown custnum $custnum";
 
 my $error = '';
-if ( $cgi->param('payby') eq 'CARD' ) { 
+if ( $cgi->param('payby') =~ /^(CARD|CHEK)$/ ) { 
+  my %payby2bop = (
+  'CARD' => 'CC',
+  'CHEK' => 'ECHECK',
+  );
+  my $bop = $payby2bop{$1};
   $cgi->param('refund') =~ /^(\d*)(\.\d{2})?$/
     or die "illegal refund amount ". $cgi->param('refund');
   my $refund = "$1$2";
   $cgi->param('paynum') =~ /^(\d*)$/ or die "Illegal paynum!";
   my $paynum = $1;
   my $reason = $cgi->param('reason');
   $cgi->param('refund') =~ /^(\d*)(\.\d{2})?$/
     or die "illegal refund amount ". $cgi->param('refund');
   my $refund = "$1$2";
   $cgi->param('paynum') =~ /^(\d*)$/ or die "Illegal paynum!";
   my $paynum = $1;
   my $reason = $cgi->param('reason');
-  $error = $cust_main->realtime_refund_bop( 'CC', 'amount' => $refund,
+  $error = $cust_main->realtime_refund_bop( $bop, 'amount' => $refund,
                                                   'paynum' => $paynum,
                                                   'reason' => $reason, );
 } else {
                                                   'paynum' => $paynum,
                                                   'reason' => $reason, );
 } else {
index e0986bb..4d27765 100755 (executable)
@@ -639,17 +639,17 @@ print '</TABLE>';
     my $refund = '';
     my $refund_days = $conf->config('card_refund-days') || 120;
     if (    $cust_pay->closed !~ /^Y/i
     my $refund = '';
     my $refund_days = $conf->config('card_refund-days') || 120;
     if (    $cust_pay->closed !~ /^Y/i
-         && $cust_pay->payby eq 'CARD' 
+         && $cust_pay->payby =~ /^(CARD|CHEK)$/
          && time-$cust_pay->_date < $refund_days*86400
          && $cust_pay->unrefunded > 0
     ) {
          && time-$cust_pay->_date < $refund_days*86400
          && $cust_pay->unrefunded > 0
     ) {
-      $refund = qq! (<A HREF="!. qq!${p}edit/cust_refund.cgi?payby=CARD;!.
+      $refund = qq! (<A HREF="!. qq!${p}edit/cust_refund.cgi?payby=$1;!.
                 qq!paynum=!. $cust_pay->paynum. qq!">refund</A>)!;
     }
 
     my $void = '';
     if (    $cust_pay->closed !~ /^Y/i
                 qq!paynum=!. $cust_pay->paynum. qq!">refund</A>)!;
     }
 
     my $void = '';
     if (    $cust_pay->closed !~ /^Y/i
-         && $cust_pay->payby ne 'CARD'
+         && $cust_pay->payby !~  /^(CARD|CHEK)$/
        ) {
       $void = qq! (<A HREF="javascript:areyousure('!.
               qq!${p}misc/void-cust_pay.cgi?!. $cust_pay->paynum.
        ) {
       $void = qq! (<A HREF="javascript:areyousure('!.
               qq!${p}misc/void-cust_pay.cgi?!. $cust_pay->paynum.