selfservice payment fees, RT#18345
[freeside.git] / fs_selfservice / FS-SelfService / cgi / selfservice.cgi
old mode 100644 (file)
new mode 100755 (executable)
index 58f2d0f..61361b8
@@ -476,7 +476,21 @@ sub process_order_recharge {
 }
 
 sub make_payment {
-  payment_info( 'session_id' => $session_id );
+
+  my $payment_info = payment_info( 'session_id' => $session_id );
+
+  my $tr_amount_fee = mason_comp(
+    'session_id' => $session_id,
+    'comp'       => '/elements/tr-amount_fee.html',
+    'args'       => [ 'amount' => $payment_info->{'balance'},
+                    ],
+  );
+
+  $tr_amount_fee = $tr_amount_fee->{'error'} || $tr_amount_fee->{'output'};
+
+  $payment_info->{'tr_amount_fee'} = $tr_amount_fee;
+
+  $payment_info;
 }
 
 sub payment_results {
@@ -493,7 +507,7 @@ sub payment_results {
 
   my $payinfo = $cgi->param('payinfo');
   $payinfo =~ s/[^\dx]//g;
-  $payinfo =~ /^([\dx]{13,16})$/
+  $payinfo =~ /^([\dx]{13,16}|[\dx]{8,9})$/
     #or $error ||= $init_data->{msgcat}{invalid_card}; #. $self->payinfo;
     or die "illegal card"; #!!!
   $payinfo = $1;
@@ -722,7 +736,7 @@ sub provision_svc {
 
   my $result = part_svc_info(
     'session_id' => $session_id,
-    map { $_ => $cgi->param($_) } qw( pkgnum svcpart ),
+    map { $_ => $cgi->param($_) } qw( pkgnum svcpart svcnum ),
   );
   die $result->{'error'} if exists $result->{'error'} && $result->{'error'};
 
@@ -756,7 +770,7 @@ sub process_svc_phone {
            'session_id' => $session_id,
            'bulkdid' => [ @bulkdid ],
            'countrycode' => '1',
-            map { $_ => $cgi->param($_) } qw( pkgnum svcpart phonenum )
+            map { $_ => $cgi->param($_) } qw( pkgnum svcpart phonenum svcnum email forwarddst )
        );
     }
 
@@ -765,7 +779,7 @@ sub process_svc_phone {
        return {
          $cgi->Vars,
          %{ part_svc_info( 'session_id' => $session_id,
-                        map { $_ => $cgi->param($_) } qw( pkgnum svcpart )
+                        map { $_ => $cgi->param($_) } qw( pkgnum svcpart svcnum )
              )
          },
          'error' => $result->{'error'},