fix fallout from N/A payinfo, RT#8809
[freeside.git] / FS / FS / cust_main.pm
index 9ac9d4b..1d2bf83 100644 (file)
@@ -1715,12 +1715,7 @@ sub check {
 
   # If it is encrypted and the private key is not availaible then we can't
   # check the credit card.
-
-  my $check_payinfo = 1;
-
-  if ($self->is_encrypted($self->payinfo)) {
-    $check_payinfo = 0;
-  }
+  my $check_payinfo = ! $self->is_encrypted($self->payinfo);
 
   if ( $check_payinfo && $self->payby =~ /^(CARD|DCRD)$/ ) {
 
@@ -4384,7 +4379,6 @@ sub realtime_bop {
   my $payment_gateway =  $self->_payment_gateway( \%options );
   my $namespace = $payment_gateway->gateway_namespace;
 
-  warn "use $namespace"; #if $DEBUG #erroring out??
   eval "use $namespace";  
   die $@ if $@;
 
@@ -4797,7 +4791,7 @@ sub _realtime_bop_result {
        'paid'     => $cust_pay_pending->paid,
        '_date'    => '',
        'payby'    => $cust_pay_pending->payby,
-       #'payinfo'  => $payinfo,
+       'payinfo'  => $options{'payinfo'},
        'paybatch' => $paybatch,
        'paydate'  => $cust_pay_pending->paydate,
        'pkgnum'   => $cust_pay_pending->pkgnum,
@@ -5201,7 +5195,7 @@ sub realtime_refund_bop {
   my $self = shift;
 
   my %options = ();
-  if (ref($_[0]) ne 'HASH') {
+  if (ref($_[0]) eq 'HASH') {
     %options = %{$_[0]};
   } else {
     my $method = shift;
@@ -7487,9 +7481,11 @@ Available options are:
 =cut
 
 sub unapplied_payments_date_sql {
-  my( $class, $start, $end, ) = @_;
+  my( $class, $start, $end, %opt ) = @_;
+
+  my $cutoff = $opt{'cutoff'};
 
-  my $unapp_pay    = FS::cust_pay->unapplied_sql;
+  my $unapp_pay    = FS::cust_pay->unapplied_sql($cutoff);
 
   my $pay_where = $class->_money_table_where( 'cust_pay', $start, $end,
                                                           'unapplied_date'=>1 );