From 4ae85517a9c3a8a2f61e87bc27a74eb616e396a4 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 6 Jul 2004 17:26:02 +0000 Subject: payment voiding part deux & credit card refunds! --- httemplate/edit/cust_refund.cgi | 93 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100755 httemplate/edit/cust_refund.cgi (limited to 'httemplate/edit/cust_refund.cgi') diff --git a/httemplate/edit/cust_refund.cgi b/httemplate/edit/cust_refund.cgi new file mode 100755 index 000000000..425c17738 --- /dev/null +++ b/httemplate/edit/cust_refund.cgi @@ -0,0 +1,93 @@ + +<% + +my $conf = new FS::Conf; +my $custnum = $cgi->param('custnum'); +my $refund = $cgi->param('refund'); +my $payby = $cgi->param('payby'); +my $reason = $cgi->param('reason'); + +my( $paynum, $cust_pay ) = ( '', '' ); +if ( $cgi->param('paynum') =~ /^(\d+)$/ ) { + $paynum = $1; + $cust_pay = qsearchs('cust_pay', { paynum=>$paynum } ) + or die "unknown payment # $paynum"; + $refund ||= $cust_pay->unrefunded; + if ( $custnum ) { + die "payment # $paynum is not for specified customer # $custnum" + unless $custnum == $cust_pay->custnum; + } else { + $custnum = $cust_pay->custnum; + } +} +die "no custnum or paynum specified!" unless $custnum; + +my $_date = time; + +my $p1 = popurl(1); + +print header('Refund '. ucfirst(lc($payby)). ' payment', ''); +print qq!Error: !, $cgi->param('error'), + "" + if $cgi->param('error'); +print <config('countrydefault')); +
+ + + + + + + + +
+END + +if ( $cust_pay ) { + + #false laziness w/FS/FS/cust_pay.pm + my $payby = $cust_pay->payby; + my $payinfo = $cust_pay->payinfo; + $payby =~ s/^BILL$/Check/ if $payinfo; + $payinfo = $cust_pay->payinfo_masked if $payby eq 'CARD'; + + print '
Payment'. ntable("#cccccc", 2). + 'Amount$'. + $cust_pay->paid. ''. + 'Date'. + time2str("%D",$cust_pay->_date). ''. + 'Method'. + ucfirst(lc($payby)). ' # '. $payinfo. ''; + #false laziness w/FS/FS/cust_main::realtime_refund_bop + if ( $cust_pay->paybatch =~ /^(\w+):(\w+)(:(\w+))?$/ ) { + my ( $processor, $auth, $order_number ) = ( $1, $2, $4 ); + print 'Processor'. + $processor. ''; + print 'Authorization'. + $auth. '' + if length($auth); + print 'Order number'. + $order_number. '' + if length($order_number); + } + print ''; +} + +print '
Refund'. ntable("#cccccc", 2). + 'Date'. + time2str("%D",$_date). ''; + +print qq!Amount\$!; + +print qq!Reason!; + +print < +
+ + + + +END + +%> -- cgit v1.2.1 From b3e85cf7a5a514f185c7d9c5ba50550c759c9ab5 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 14 Sep 2004 13:00:47 +0000 Subject: echeck/ACH refunds --- httemplate/edit/cust_refund.cgi | 1 + 1 file changed, 1 insertion(+) (limited to 'httemplate/edit/cust_refund.cgi') diff --git a/httemplate/edit/cust_refund.cgi b/httemplate/edit/cust_refund.cgi index 425c17738..8955c7cee 100755 --- a/httemplate/edit/cust_refund.cgi +++ b/httemplate/edit/cust_refund.cgi @@ -49,6 +49,7 @@ if ( $cust_pay ) { 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 '
Payment'. ntable("#cccccc", 2). -- cgit v1.2.1