verify credit card changes via $1 auth, RT#37632
authorIvan Kohler <ivan@freeside.biz>
Mon, 2 May 2016 22:24:07 +0000 (15:24 -0700)
committerIvan Kohler <ivan@freeside.biz>
Mon, 2 May 2016 22:24:07 +0000 (15:24 -0700)
FS/FS/cust_main.pm
FS/FS/cust_main/Billing_Realtime.pm

index cfcd5f4..6e66646 100644 (file)
@@ -1538,6 +1538,11 @@ sub replace {
   {
     my $error = $self->check_payinfo_cardtype;
     return $error if $error;
   {
     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"
   }
 
   return "Invoicing locale is required"
index 0a61ad1..90fda5e 100644 (file)
@@ -1758,7 +1758,7 @@ sub realtime_verify_bop {
 
   my $ban = FS::banned_pay->ban_search(
     'payby'   => $bop_method2payby{'CC'},
 
   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';
 
   );
   return "Banned credit card" if $ban && $ban->bantype ne 'warn';
 
@@ -1787,7 +1787,7 @@ sub realtime_verify_bop {
 
     if ( $options{method} eq 'CC' ) {
 
 
     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;
       $paydate = exists($options{'paydate'})
                       ? $options{'paydate'}
                       : $self->paydate;
@@ -1860,8 +1860,8 @@ sub realtime_verify_bop {
     'paid'              => '1.00',
     '_date'             => '',
     'payby'             => $bop_method2payby{'CC'},
     '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'},
     'paydate'           => $paydate,
     #'recurring_billing' => $content{recurring_billing},
     'pkgnum'            => $options{'pkgnum'},