summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2015-11-05 10:44:31 -0800
committerIvan Kohler <ivan@freeside.biz>2015-11-05 10:44:31 -0800
commit88ed72cdd96321a0eeaacc3107da413ab6e9dc98 (patch)
tree1c3a1bf51f9cbb91610e5f2c8bd8d894f1915c47
parenta87e91ee19d14a6fc3da62f4b44a9628d32bb6a3 (diff)
pass an invoice_number for void/refund when available, RT#37292
-rw-r--r--FS/FS/cust_main/Billing_Realtime.pm9
1 files changed, 8 insertions, 1 deletions
diff --git a/FS/FS/cust_main/Billing_Realtime.pm b/FS/FS/cust_main/Billing_Realtime.pm
index 7a204073b..403d8dd1c 100644
--- a/FS/FS/cust_main/Billing_Realtime.pm
+++ b/FS/FS/cust_main/Billing_Realtime.pm
@@ -11,6 +11,7 @@ use FS::Record qw( qsearch qsearchs );
use FS::payby;
use FS::cust_pay;
use FS::cust_pay_pending;
+use FS::cust_bill_pay;
use FS::cust_refund;
use FS::banned_pay;
@@ -1366,6 +1367,8 @@ sub realtime_refund_bop {
warn " $_ => $options{$_}\n" foreach keys %options;
}
+ my %content = ();
+
###
# look up the original payment and optionally a gateway for that payment
###
@@ -1384,6 +1387,9 @@ sub realtime_refund_bop {
or return "Unknown paynum $options{'paynum'}";
$amount ||= $cust_pay->paid;
+ my @cust_bill_pay = qsearch('cust_bill_pay', { paynum=>$cust_pay->paynum });
+ $content{'invoice_number'} = $cust_bill_pay[0]->invnum if @cust_bill_pay;
+
if ( $cust_pay->get('processor') ) {
($gatewaynum, $processor, $auth, $order_number) =
(
@@ -1456,7 +1462,8 @@ sub realtime_refund_bop {
eval "use $namespace";
die $@ if $@;
- my %content = (
+ %content = (
+ %content,
'type' => $options{method},
'login' => $login,
'password' => $password,