<% mt('Payment amount') |h %> |
|
% if ( $fee ) {
% }
<%init>
my %opt = @_;
my $conf = new FS::Conf;
my $money_char = $conf->config('money_char') || '$';
my $fee = '';
my $fee_pkg = '';
my $fee_display = '';
my $fee_op = '';
if ( $opt{'process-pkgpart'}
and ! $opt{'process-skip_first'} || $opt{'num_payments'}
)
{
$fee_display = $opt{'process-display'} || 'add';
$fee_op = $fee_display eq 'add' ? '+' : '-';
$fee_pkg =
qsearchs('part_pkg', { pkgpart=>$opt{'process-pkgpart'} } );
#well ->unit_setup or ->calc_setup both call for a $cust_pkg
# (though ->unit_setup doesn't use it...)
$fee = $fee_pkg->option('setup_fee')
if $fee_pkg; #in case.. better than dying with a perl traceback
}
my $amount = $opt{'amount'};
if ( $amount > 0 ) {
$amount += $fee
if $fee && $fee_display eq 'subtract';
#&{ $opt{post_fee_callback} }( \$amount ) if $opt{post_fee_callback};
$amount += $amount * $opt{'surcharge_percentage'}/100
if $opt{'surcharge_percentage'} > 0;
$amount = sprintf("%.2f", $amount);
}
%init>