diff options
| author | Christopher Burger <burgerc@freeside.biz> | 2018-11-05 17:44:50 -0500 |
|---|---|---|
| committer | Christopher Burger <burgerc@freeside.biz> | 2018-11-06 17:02:02 -0500 |
| commit | 959a59186f30a33d167b12e67d3c9cc4ce58a0f5 (patch) | |
| tree | d61a05795fcdf4c40116ee3cca546577025165a3 /httemplate/elements/tr-amount_fee.html | |
| parent | ad94da6a8b46ba0cb915a69307810c8a5bcf6749 (diff) | |
RT# 76093 - Added ability to charge a processing fee when taking a payment on the back end
Conflicts:
FS/FS/Conf.pm
FS/FS/cust_main/Billing_Batch.pm
httemplate/elements/tr-amount_fee.html
httemplate/elements/tr-select-payment_options.html
httemplate/misc/process/payment.cgi
Diffstat (limited to 'httemplate/elements/tr-amount_fee.html')
| -rw-r--r-- | httemplate/elements/tr-amount_fee.html | 44 |
1 files changed, 42 insertions, 2 deletions
diff --git a/httemplate/elements/tr-amount_fee.html b/httemplate/elements/tr-amount_fee.html index e3b8d7800..1cd59bbc3 100644 --- a/httemplate/elements/tr-amount_fee.html +++ b/httemplate/elements/tr-amount_fee.html @@ -8,7 +8,7 @@ VALUE = "<% $amount %>" SIZE = 8 STYLE = "text-align:right;" -% if ( $fee ) { +% if ( $fee || $processing_fee) { onChange = "amount_changed(this)" onKeyDown = "amount_changed(this)" onKeyUp = "amount_changed(this)" @@ -32,7 +32,23 @@ </TD> </TR> -% if ( $fee ) { +% if ( $processing_fee ) { + <TR> + <TH ALIGN="right"><% mt('Processing fee') |h %></TH> + <TD> + <TABLE><TR> + <TD BGCOLOR="#ffffff"> + <INPUT TYPE="checkbox" NAME="processing_fee" ID="processing_fee" VALUE="<% $processing_fee %>" onclick="<% $opt{prefix} %>process_fee_changed()"> + </TD> + <TD> + Apply a processing fee of <% $processing_fee %> .</FONT> + </TD> + </TR></TABLE> + </TD> + </TR> +% } + +% if ($fee) { <SCRIPT TYPE="text/javascript"> @@ -55,6 +71,27 @@ % } +% if ($processing_fee) { + + <SCRIPT TYPE="text/javascript"> + + function <% $opt{prefix} %>process_fee_changed(what) { + + if (document.getElementById('processing_fee').checked == true) { + var amount = +document.getElementById('amount').value + +document.getElementById('processing_fee').value; + $('#amount').val(amount.toFixed(2)); + } + else { + var amount = +document.getElementById('amount').value - +document.getElementById('processing_fee').value; + $('#amount').val(amount.toFixed(2)); + } + + } + + </SCRIPT> + +% } + <%init> my %opt = @_; @@ -66,6 +103,7 @@ my $fee = ''; my $fee_pkg = ''; my $fee_display = ''; my $fee_op = ''; +my $processing_fee = 0; if ( $opt{'process-pkgpart'} and ! $opt{'process-skip_first'} || $opt{'num_payments'} @@ -97,6 +135,8 @@ if ( $amount > 0 ) { $amount += $opt{'surcharge_flatfee'} if $opt{'surcharge_flatfee'} > 0; + $processing_fee = $opt{'processing_fee'} if $opt{'processing_fee'} > 0; + $amount = sprintf("%.2f", $amount); } |
