From 05dee44cdb4e93df6963ae396f916705c4086f86 Mon Sep 17 00:00:00 2001 From: Jonathan Prykop Date: Thu, 25 Feb 2016 09:14:26 -0600 Subject: [PATCH] RT#30600: Auto Apply for CC payments --- FS/FS/cust_main/Billing_Realtime.pm | 6 ++-- httemplate/misc/payment.cgi | 71 ++++++++++++++++++++++++++----------- httemplate/misc/process/payment.cgi | 3 +- 3 files changed, 57 insertions(+), 23 deletions(-) diff --git a/FS/FS/cust_main/Billing_Realtime.pm b/FS/FS/cust_main/Billing_Realtime.pm index 747f4af5d..e2a02674e 100644 --- a/FS/FS/cust_main/Billing_Realtime.pm +++ b/FS/FS/cust_main/Billing_Realtime.pm @@ -154,7 +154,9 @@ specified invoice. If the customer has exactly one open invoice, that invoice number will be assumed. If you don't specify an I you might want to call the B method or set the I option. -I can be set to true to apply a resulting payment. +I can be set to true to run B on success. + +I can be set to true to prevent resulting payment from being automatically applied. I can be set true to surpress email decline notices. @@ -903,7 +905,7 @@ sub _realtime_bop_result { 'processor' => $payment_gateway->gateway_module, 'auth' => $transaction->authorization, 'order_number' => $order_number || '', - + 'no_auto_apply' => $options{'no_auto_apply'} ? 'Y' : '', } ); #doesn't hurt to know, even though the dup check is in cust_pay_pending now $cust_pay->payunique( $options{payunique} ) diff --git a/httemplate/misc/payment.cgi b/httemplate/misc/payment.cgi index 02648a821..f30e4098e 100644 --- a/httemplate/misc/payment.cgi +++ b/httemplate/misc/payment.cgi @@ -33,6 +33,57 @@ &> % } +% my $disallow_no_auto_apply = 0; +% if ( $conf->exists("batch-enable") +% || grep $payby eq $_, $conf->config('batch-enable_payby') +% ) { +% +% if ( grep $payby eq $_, $conf->config('realtime-disable_payby') ) { +% $disallow_no_auto_apply = 1; + + + +% } else { + + +    <% mt('Add to current batch') |h %> + + + + + +% } +% } + +% unless ($disallow_no_auto_apply) { +% # false laziness with edit/cust_pay.cgi + + + <% mt('Auto-apply to invoices') |h %> + + + + + +% # this can go away if no_auto_apply handling gets added to batch payment processing + + +% } +