should log to our db
[freeside.git] / FS / FS / cust_main / Billing_Realtime.pm
index 0623fbb..dcf5b7b 100644 (file)
@@ -6,6 +6,7 @@ use vars qw( $realtime_bop_decline_quiet ); #ugh
 use Carp;
 use Data::Dumper;
 use Business::CreditCard 0.35;
+use Business::OnlinePayment;
 use FS::UID qw( dbh myconnect );
 use FS::Record qw( qsearch qsearchs );
 use FS::payby;
@@ -126,6 +127,13 @@ sub realtime_collect {
   $options{amount} = $self->balance unless exists( $options{amount} );
   return '' unless $options{amount} > 0;
 
+  #huh, in v4, realtime_bop no longer will just process a card without passing
+  # payinfo or cust_payby...
+  if ( ! $options{'payinfo'} && ! $options{'cust_payby'} && $self->has_cust_payby_auto ) {
+    my @cust_payby = $self->cust_payby;
+    $options{'cust_payby'} = $cust_payby[0];
+  }
+
   return $self->realtime_bop({%options});
 
 }
@@ -1185,6 +1193,7 @@ sub _realtime_bop_result {
               "resolved - error updating status for paypendingnum ".
               $cust_pay_pending->paypendingnum. ": $cpp_done_err \n";
       warn $e;
+      #XXX internal system log $e (what's going on?)
       $perror = "$e ($perror)";
     }