fix per-agent portal branding on logout, RT#32139
[freeside.git] / fs_selfservice / FS-SelfService / cgi / signup.cgi
index 1725561..acd7a62 100755 (executable)
@@ -201,13 +201,18 @@ if ( $magic eq 'process' || $action eq 'process_signup' ) {
       my $payinfo = $cgi->param('payinfo');
       $payinfo =~ s/\D//g;
 
-      $payinfo =~ /^(\d{13,16})$/
+      $payinfo =~ /^(\d{13,16}|\d{8,9})$/
         or $error ||= $init_data->{msgcat}{invalid_card}; #. $self->payinfo;
       $payinfo = $1;
       validate($payinfo)
         or $error ||= $init_data->{msgcat}{invalid_card}; #. $self->payinfo;
       cardtype($payinfo) eq $cgi->param('CARD_type')
         or $error ||= $init_data->{msgcat}{not_a}. $cgi->param('CARD_type');
+
+      $error ||= 'CVV2 is required'
+        if ! $cgi->param('paycvv')
+        && $init_data->{require_cvv};
+
     }
 
     if ($init_data->{emailinvoiceonly} && (length $cgi->param('invoicing_list') < 1)) {
@@ -231,7 +236,7 @@ if ( $magic eq 'process' || $action eq 'process_signup' ) {
                 invoicing_list referral_custnum promo_code reg_code
                 override_ban_warn
                 pkgpart refnum agentnum
-                username sec_phrase _password popnum
+                username sec_phrase _password popnum domsvc
                 mac_addr
                 countrycode phonenum sip_password pin prepaid_shortform
               ),
@@ -500,5 +505,7 @@ END
 
 package FS::SelfService::_signupcgi;
 use HTML::Entities;
-use FS::SelfService qw(regionselector expselect popselector didselector);
+use FS::SelfService qw( regionselector expselect popselector domainselector
+                        didselector
+                      );