X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fmisc%2Fprocess%2Fpayment.cgi;h=506e26684eae5e30b8752335cfb8f4538e80b127;hp=fb6a41bd32af05d70e0805101a14aaab184886ed;hb=074464a707b2c8b83cc50cd0bb067660ef4d0f9f;hpb=3d62ec9362d0b22c17a17da6197f8b2fc219a54e diff --git a/httemplate/misc/process/payment.cgi b/httemplate/misc/process/payment.cgi index fb6a41bd3..506e26684 100644 --- a/httemplate/misc/process/payment.cgi +++ b/httemplate/misc/process/payment.cgi @@ -21,6 +21,8 @@ my $curuser = $FS::CurrentUser::CurrentUser; die "access denied" unless $curuser->access_right('Process payment'); +my $conf = new FS::Conf; + #some false laziness w/MyAccount::process_payment $cgi->param('custnum') =~ /^(\d+)$/ @@ -79,16 +81,16 @@ if ( $payby eq 'CHEK' ) { $payinfo = $cust_main->payinfo; } else { $cgi->param('payinfo1') =~ /^(\d+)$/ - or errorpage("illegal account number ". $cgi->param('payinfo1')); + or errorpage("Illegal account number ". $cgi->param('payinfo1')); my $payinfo1 = $1; - if ( $conf->exists('echeck-no_routing') ) { - $cgi->param('payinfo2') =~ /^(\d*)$/ - or errorpage("illegal ABA/routing number ". $cgi->param('payinfo2')); - } else { - $cgi->param('payinfo2') =~ /^(\d+)$/ - or errorpage("illegal ABA/routing number ". $cgi->param('payinfo2')); - } + $cgi->param('payinfo2') =~ /^(\d+)$/ + or errorpage("Illegal ABA/routing number ". $cgi->param('payinfo2')); my $payinfo2 = $1; + if ( $conf->config('echeck-country') eq 'CA' ) { + $cgi->param('payinfo3') =~ /^(\d{5})$/ + or errorpage("Illegal branch number ". $cgi->param('payinfo2')); + $payinfo2 = "$1.$payinfo2"; + } $payinfo = $payinfo1. '@'. $payinfo2; } @@ -127,7 +129,7 @@ if ( $payby eq 'CHEK' ) { die "unknown payby $payby"; } -$cgi->param('discount_term') =~ /^\d*$/ +$cgi->param('discount_term') =~ /^(\d*)$/ or errorpage("illegal discount_term"); my $discount_term = $1; @@ -201,7 +203,6 @@ if ( $cgi->param('save') ) { #false laziness w/FS:;cust_main::realtime_bop - check both to make sure # working correctly - my $conf = new FS::Conf; if ( $payby eq 'CARD' && grep { $_ eq cardtype($payinfo) } $conf->config('cvv-save') ) { $new->set( 'paycvv' => $paycvv );