summaryrefslogtreecommitdiff
path: root/httemplate/misc
diff options
context:
space:
mode:
authorivan <ivan>2011-10-21 16:30:02 +0000
committerivan <ivan>2011-10-21 16:30:02 +0000
commitb775097fa08058195e2d258a38091655bd36ed16 (patch)
treebaa61e96b254be770e141f5d582417bcb8e3b6ad /httemplate/misc
parentc44af9c50b752e059eaa1d446e038317258fd437 (diff)
add bank branch to one-time payments, RT#14859
Diffstat (limited to 'httemplate/misc')
-rw-r--r--httemplate/misc/payment.cgi22
-rw-r--r--httemplate/misc/process/payment.cgi9
2 files changed, 23 insertions, 8 deletions
diff --git a/httemplate/misc/payment.cgi b/httemplate/misc/payment.cgi
index 1797b29ba..b2baebd07 100644
--- a/httemplate/misc/payment.cgi
+++ b/httemplate/misc/payment.cgi
@@ -131,13 +131,15 @@
% } elsif ( $payby eq 'CHEK' ) {
%
-% my( $payinfo1, $payinfo2, $payname, $ss, $paytype, $paystate,
+% my( $account, $aba, $branch, $payname, $ss, $paytype, $paystate,
% $stateid, $stateid_state )
-% = ( '', '', '', '', '', '', '', '' );
+% = ( '', '', '', '', '', '', '', '', '' );
% if ( $cust_main->payby =~ /^(CHEK|DCHK)$/ ) {
-% $cust_main->paymask =~ /^([\dx]+)\@([\dx]*)$/i
+% $cust_main->paymask =~ /^([\dx]+)\@([\d\.x]*)$/i
% or die "unparsable payinfo ". $cust_main->payinfo;
-% ($payinfo1, $payinfo2) = ($1, $2);
+% ($account, $aba) = ($1, $2);
+% ($branch,$aba) = split('\.',$aba)
+% if $conf->exists('cust_main-require-bank-branch');
% $payname = $cust_main->payname;
% $ss = $cust_main->ss;
% $paytype = $cust_main->getfield('paytype');
@@ -150,17 +152,25 @@
<INPUT TYPE="hidden" NAME="year" VALUE="2037">
<TR>
<TD ALIGN="right"><% mt('Account number') |h %></TD>
- <TD><INPUT TYPE="text" SIZE=10 NAME="payinfo1" VALUE="<%$payinfo1%>"></TD>
+ <TD><INPUT TYPE="text" SIZE=10 NAME="payinfo1" VALUE="<%$account%>"></TD>
<TD ALIGN="right"><% mt('Type') |h %></TD>
<TD><SELECT NAME="paytype"><% join('', map { qq!<OPTION VALUE="$_" !.($paytype eq $_ ? 'SELECTED' : '').">$_</OPTION>" } @FS::cust_main::paytypes) %></SELECT></TD>
</TR>
<TR>
<TD ALIGN="right"><% mt('ABA/Routing number') |h %></TD>
<TD>
- <INPUT TYPE="text" SIZE=10 MAXLENGTH=9 NAME="payinfo2" VALUE="<%$payinfo2%>">
+ <INPUT TYPE="text" SIZE=10 MAXLENGTH=9 NAME="payinfo2" VALUE="<%$aba%>">
(<A HREF="javascript:void(0);" onClick="overlib( OLiframeContent('../docs/ach.html', 380, 240, 'ach_popup' ), CAPTION, 'ACH Help', STICKY, AUTOSTATUSCAP, CLOSECLICK, DRAGGABLE ); return false;"><% mt('help') |h %></A>)
</TD>
</TR>
+% if ( $conf->exists('cust_main-require-bank-branch') ) {
+ <TR>
+ <TD ALIGN="right"><% mt('Branch number') |h %></TD>
+ <TD>
+ <INPUT TYPE="text" NAME="payinfo3" VALUE="<%$branch%>">
+ </TD>
+ </TR>
+% }
<TR>
<TD ALIGN="right"><% mt('Bank name') |h %></TD>
<TD><INPUT TYPE="text" NAME="payname" VALUE="<%$payname%>"></TD>
diff --git a/httemplate/misc/process/payment.cgi b/httemplate/misc/process/payment.cgi
index e09cb570c..efbdb764c 100644
--- a/httemplate/misc/process/payment.cgi
+++ b/httemplate/misc/process/payment.cgi
@@ -81,11 +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;
$cgi->param('payinfo2') =~ /^(\d+)$/
- or errorpage("illegal ABA/routing number ". $cgi->param('payinfo2'));
+ or errorpage("Illegal ABA/routing number ". $cgi->param('payinfo2'));
my $payinfo2 = $1;
+ if ( $conf->exists('cust_main-require-bank-branch') ) {
+ $cgi->param('payinfo3') =~ /^(\d+)$/
+ or errorpage("Illegal branch number ". $cgi->param('payinfo2'));
+ $payinfo2 = "$1.$payinfo2";
+ }
$payinfo = $payinfo1. '@'. $payinfo2;
}