From: Ivan Kohler Date: Mon, 2 May 2016 22:24:07 +0000 (-0700) Subject: verify credit card changes via $1 auth, RT#37632 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=29a7178b002a00aea85973a056cfecb0e23cb99e verify credit card changes via $1 auth, RT#37632 --- diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index cfcd5f43f..6e666466d 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -1538,6 +1538,11 @@ sub replace { { my $error = $self->check_payinfo_cardtype; return $error if $error; + + if ( $conf->exists('business-onlinepayment-verification') ) { + $error = $self->realtime_verify_bop({ 'method'=>'CC' }); + return $error if $error; + } } return "Invoicing locale is required" diff --git a/FS/FS/cust_main/Billing_Realtime.pm b/FS/FS/cust_main/Billing_Realtime.pm index 0a61ad1b8..90fda5eb2 100644 --- a/FS/FS/cust_main/Billing_Realtime.pm +++ b/FS/FS/cust_main/Billing_Realtime.pm @@ -1758,7 +1758,7 @@ sub realtime_verify_bop { my $ban = FS::banned_pay->ban_search( 'payby' => $bop_method2payby{'CC'}, - 'payinfo' => $options{payinfo}, + 'payinfo' => $options{payinfo} || $self->payinfo, ); return "Banned credit card" if $ban && $ban->bantype ne 'warn'; @@ -1787,7 +1787,7 @@ sub realtime_verify_bop { if ( $options{method} eq 'CC' ) { - $content{card_number} = $options{payinfo}; + $content{card_number} = $options{payinfo} || $self->payinfo; $paydate = exists($options{'paydate'}) ? $options{'paydate'} : $self->paydate; @@ -1860,8 +1860,8 @@ sub realtime_verify_bop { 'paid' => '1.00', '_date' => '', 'payby' => $bop_method2payby{'CC'}, - 'payinfo' => $options{payinfo}, - 'paymask' => $options{paymask}, + 'payinfo' => $options{payinfo} || $self->payinfo, + 'paymask' => $options{paymask} || $self->paymask, 'paydate' => $paydate, #'recurring_billing' => $content{recurring_billing}, 'pkgnum' => $options{'pkgnum'},