summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FS/FS/ClientAPI/Signup.pm12
-rwxr-xr-xfs_selfservice/FS-SelfService/cgi/signup.cgi35
2 files changed, 30 insertions, 17 deletions
diff --git a/FS/FS/ClientAPI/Signup.pm b/FS/FS/ClientAPI/Signup.pm
index 757dd47f1..488692f9f 100644
--- a/FS/FS/ClientAPI/Signup.pm
+++ b/FS/FS/ClientAPI/Signup.pm
@@ -556,9 +556,17 @@ sub new_customer {
return { 'error' => "Unknown reseller" }
unless $agent;
- my $gw = $agent->payment_gateway( 'method' => FS::payby->payby2bop($payby),
- 'nofatal' => 1,
+ my $gw;
+ my $gatewaynum = $conf->config('selfservice-payment_gateway');
+ if ( $gatewaynum ) {
+ $gw = qsearchs('payment_gateway', { gatewaynum => $gatewaynum });
+ die "configured gatewaynum $gatewaynum not found!" if !$gw;
+ }
+ else {
+ $gw = $agent->payment_gateway( 'method' => FS::payby->payby2bop($payby),
+ 'nofatal' => 1,
);
+ }
$cust_main->payby('BILL') # MCRD better?
if $gw && $gw->gateway_namespace eq 'Business::OnlineThirdPartyPayment';
diff --git a/fs_selfservice/FS-SelfService/cgi/signup.cgi b/fs_selfservice/FS-SelfService/cgi/signup.cgi
index 7d1679b5c..02acf14aa 100755
--- a/fs_selfservice/FS-SelfService/cgi/signup.cgi
+++ b/fs_selfservice/FS-SelfService/cgi/signup.cgi
@@ -246,8 +246,8 @@ if ( $magic eq 'process' || $action eq 'process_signup' ) {
print_decline();
} elsif ( $error eq '_collect' ) {
map { $cgi->param($_, $rv->{$_}) }
- qw( popup_url reference collectitems amount );
- print_collect();
+ qw( popup_url reference amount );
+ print_collect($rv);
} elsif ( $error ) {
#fudge the snarf info
no strict 'refs';
@@ -302,9 +302,11 @@ sub print_collect {
$error = "Error: $error" if $error;
+ my $rv = shift || {};
my $r = {
$cgi->Vars,
%{$init_data},
+ %$rv,
'error' => $error,
};
@@ -314,6 +316,7 @@ sub print_collect {
$r->{self_url} = $cgi->self_url;
print $cgi->header( '-expires' => 'now' ),
+
$collect_template->fill_in( PACKAGE => 'FS::SelfService::_signupcgi',
HASH => $r
);
@@ -442,23 +445,25 @@ sub collect_default { #html to use if there is a collect phase
<<'END';
<HTML><HEAD><TITLE>Pay now</TITLE></HEAD>
<BODY BGCOLOR="#e8e8e8"><FONT SIZE=7>Pay now</FONT><BR><BR>
-<SCRIPT TYPE="text/javascript">
- function popcollect() {
- overlib( OLiframeContent('<%= $popup_url %>', 336, 550, 'Secure Payment Area', 0, 'auto' ), CAPTION, 'Pay now', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, DRAGGABLE, CLOSECLICK, BGCOLOR, '#333399', CGCOLOR, '#333399', CLOSETEXT, 'Close' );
- return false;
- }
-</SCRIPT>
-<SCRIPT TYPE="text/javascript" SRC="overlibmws.js"></SCRIPT>
-<SCRIPT TYPE="text/javascript" SRC="overlibmws_iframe.js"></SCRIPT>
-<SCRIPT TYPE="text/javascript" SRC="overlibmws_draggable.js"></SCRIPT>
-<SCRIPT TYPE="text/javascript" SRC="overlibmws_crossframe.js"></SCRIPT>
-<SCRIPT TYPE="text/javascript" SRC="iframecontentmws.js"></SCRIPT>
+<%=
+#<SCRIPT TYPE="text/javascript">
+# function popcollect() {
+# overlib( OLiframeContent('<%= $popup_url %>', 336, 550, 'Secure Payment Area', 0, 'auto' ), CAPTION, 'Pay now', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, DRAGGABLE, CLOSECLICK, BGCOLOR, '#333399', CGCOLOR, '#333399', CLOSETEXT, 'Close' );
+# return false;
+# }
+#</SCRIPT>
+#<SCRIPT TYPE="text/javascript" SRC="overlibmws.js"></SCRIPT>
+#<SCRIPT TYPE="text/javascript" SRC="overlibmws_iframe.js"></SCRIPT>
+#<SCRIPT TYPE="text/javascript" SRC="overlibmws_draggable.js"></SCRIPT>
+#<SCRIPT TYPE="text/javascript" SRC="overlibmws_crossframe.js"></SCRIPT>
+#<SCRIPT TYPE="text/javascript" SRC="iframecontentmws.js"></SCRIPT>
+%>
You are about to contact our payment processor to pay <%= $amount %> for
<%= $pkg %>.<BR><BR>
Your transaction reference number is <%= $reference %><BR><BR>
-<FORM NAME="collect_popper" method="post" action="javascript:void(0)" onSubmit="popcollect()">
+<FORM NAME="collect_popper" method="post" action="<%= $popup_url %>">
<%=
- my %itemhash = @collectitems;
+ my %itemhash = @collectitems ;
foreach my $input (keys %itemhash) {
$OUT .= qq!<INPUT NAME="$input" TYPE="hidden" VALUE="$itemhash{$input}">!;
}