From: jeff Date: Fri, 6 Apr 2007 23:57:35 +0000 (+0000) Subject: integrate new echeck fields into freeside backend payment processing X-Git-Tag: TRIXBOX_2_6~560 X-Git-Url: http://git.freeside.biz/gitweb/?a=commitdiff_plain;h=45583b397d64be8c31cba0334ad89e41f4ac1d0e;p=freeside.git integrate new echeck fields into freeside backend payment processing --- diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index e834d59e4..1224c88da 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -70,7 +70,7 @@ $skip_fuzzyfiles = 0; $ignore_expired_card = 0; @encrypted_fields = ('payinfo', 'paycvv'); -@paytypes = ('Personal checking', 'Personal savings', 'Business checking', 'Business savings'); +@paytypes = ('', 'Personal checking', 'Personal savings', 'Business checking', 'Business savings'); #ask FS::UID to run this stuff for us later #$FS::UID::callback{'FS::cust_main'} = sub { @@ -2612,9 +2612,12 @@ sub realtime_bop { ( $content{account_number}, $content{routing_code} ) = split('@', $payinfo); $content{bank_name} = $o_payname; - $content{account_type} = 'CHECKING'; + $content{bank_state} = $self->getfield('paystate'); + $content{account_type} = uc($self->getfield('paytype')) || 'CHECKING'; $content{account_name} = $payname; $content{customer_org} = $self->company ? 'B' : 'I'; + $content{state_id} = $self->getfield('stateid'); + $content{state_id_state} = $self->getfield('stateid_state'); $content{customer_ssn} = exists($options{'ss'}) ? $options{'ss'} : $self->ss; diff --git a/httemplate/misc/payment.cgi b/httemplate/misc/payment.cgi index 728eba7b9..1008a216b 100644 --- a/httemplate/misc/payment.cgi +++ b/httemplate/misc/payment.cgi @@ -151,13 +151,19 @@ function OLiframeContent(src, width, height, name) { % } elsif ( $payby eq 'CHEK' ) { -% my( $payinfo1, $payinfo2, $payname, $ss ) = ( '', '', '', '' ); +% my( $payinfo1, $payinfo2, $payname, $ss, $paytype, $paystate, +% $stateid, $stateid_state ) +% = ( '', '', '', '', '', '', '', '' ); % if ( $cust_main->payby =~ /^(CHEK|DCHK)$/ ) { % $cust_main->paymask =~ /^([\dx]+)\@([\dx]+)$/i % or die "unparsable payinfo ". $cust_main->payinfo; % ($payinfo1, $payinfo2) = ($1, $2); % $payname = $cust_main->payname; % $ss = $cust_main->ss; +% $paytype = $cust_main->getfield('paytype'); +% $paystate = $cust_main->getfield('paystate'); +% $stateid = $cust_main->getfield('stateid'); +% $stateid_state = $cust_main->getfield('stateid_state'); % } % @@ -166,6 +172,8 @@ function OLiframeContent(src, width, height, name) { Account number + Type + ABA/Routing number @@ -179,12 +187,35 @@ function OLiframeContent(src, width, height, name) { + Bank state + <% include('../edit/cust_main/select-state.html', #meh + 'empty' => '(choose)', + 'state' => $paystate, + 'country' => $cust_main->country, + 'prefix' => 'pay', + ) %> + + Account holder
Social security or tax ID # + + + Account holder
+ Driver’s license or state ID # + + + State + <% include('../edit/cust_main/select-state.html', #meh + 'empty' => '(choose)', + 'state' => $stateid_state, + 'country' => $cust_main->country, + 'prefix' => 'stateid_', + ) %> + % } diff --git a/httemplate/misc/process/payment.cgi b/httemplate/misc/process/payment.cgi index a5f4d4208..8878f5255 100644 --- a/httemplate/misc/process/payment.cgi +++ b/httemplate/misc/process/payment.cgi @@ -26,7 +26,7 @@ %my $payby = $1; %my %payby2fields = ( % 'CARD' => [ qw( address1 address2 city state zip ) ], -% 'CHEK' => [ qw( ss ) ], +% 'CHEK' => [ qw( ss paytype paystate stateid stateid_state ) ], %); %my %type = ( 'CARD' => 'credit card', % 'CHEK' => 'electronic check (ACH)',