<%
-#<!-- $Id: cust_bill_pay.cgi,v 1.1 2001-12-18 19:30:31 ivan Exp $ -->
-
-use strict;
-use vars qw( $cgi $custnum $paynum $new $error );
-use CGI;
-use CGI::Carp qw(fatalsToBrowser);
-use FS::UID qw(cgisuidsetup getotaker);
-use FS::CGI qw(popurl);
-use FS::Record qw(qsearchs fields);
-use FS::cust_pay;
-use FS::cust_bill_pay;
-use FS::cust_main;
-
-$cgi = new CGI;
-cgisuidsetup($cgi);
$cgi->param('paynum') =~ /^(\d*)$/ or die "Illegal paynum!";
-$paynum = $1;
+my $paynum = $1;
my $cust_pay = qsearchs('cust_pay', { 'paynum' => $paynum } )
or die "No such paynum";
my $custnum = $cust_main->custnum;
-$new = new FS::cust_bill_pay ( {
- map {
- $_, scalar($cgi->param($_));
- #} qw(custnum _date amount invnum)
- } fields('cust_bill_pay')
-} );
+my $new;
+if ($cgi->param('invnum') =~ /^Refund$/) {
+ $new = new FS::cust_refund ( {
+ 'reason' => 'Refunding payment', #enter reason in UI
+ 'refund' => $cgi->param('amount'),
+ 'payby' => 'BILL',
+ #'_date' => $cgi->param('_date'),
+ 'payinfo' => 'Cash', #enter payinfo in UI
+ 'paynum' => $paynum,
+ } );
+} else {
+ $new = new FS::cust_bill_pay ( {
+ map {
+ $_, scalar($cgi->param($_));
+ #} qw(custnum _date amount invnum)
+ } fields('cust_bill_pay')
+ } );
+}
-$error=$new->insert;
+my $error = $new->insert;
if ( $error ) {
$cgi->param('error', $error);