package FS::pay_batch;
+use base qw( FS::Record );
use strict;
-use vars qw( @ISA $DEBUG %import_info %export_info $conf );
+use vars qw( $DEBUG %import_info %export_info $conf );
+use Scalar::Util qw(blessed);
+use IO::Scalar;
+use List::Util qw(sum);
use Time::Local;
use Text::CSV_XS;
-use FS::Record qw( dbh qsearch qsearchs );
-use FS::Conf;
-use FS::cust_pay;
-use FS::agent;
use Date::Parse qw(str2time);
use Business::CreditCard qw(cardtype);
-use Scalar::Util 'blessed';
-use IO::Scalar;
use FS::Misc qw(send_email); # for error notification
-use List::Util qw(sum);
-
-@ISA = qw(FS::Record);
+use FS::Record qw( dbh qsearch qsearchs );
+use FS::Conf;
+use FS::cust_pay;
=head1 NAME
Returns the L<FS::agent> object for this batch.
-=cut
-
-sub agent {
- qsearchs('agent', { 'agentnum' => $_[0]->agentnum });
-}
-
=item cust_pay_batch
Returns all L<FS::cust_pay_batch> objects for this batch.
-=cut
-
-sub cust_pay_batch {
- qsearch('cust_pay_batch', { 'batchnum' => $_[0]->batchnum });
-}
-
=item rebalance
=cut
}
-use MIME::Base64;
-use Storable 'thaw';
use Data::Dumper;
sub process_import_results {
my $job = shift;
- my $param = thaw(decode_base64(shift));
+ my $param = shift;
$param->{'job'} = $job;
warn Dumper($param) if $DEBUG;
my $gatewaynum = delete $param->{'gatewaynum'};
$total += $cust_pay_batch->paid;
}
else {
- $error = $cust_pay_batch->decline($item->error_message);
+ $error = $cust_pay_batch->decline($item->error_message,
+ $item->failure_status);
}
if ( $error ) {
my $body = "Import from gateway ".$gateway->label."\n".$error_text;
send_email(
to => $mail_on_error,
- from => $conf->config('invoice_from'),
+ from => $conf->invoice_from_full(),
subject => $subject,
body => $body,
);
my $info = $export_info{$format} or die "Format not found: '$format'\n";
- &{$info->{'init'}}($conf) if exists($info->{'init'});
+ &{$info->{'init'}}($conf, $self->agentnum) if exists($info->{'init'});
my $oldAutoCommit = $FS::UID::AutoCommit;
local $FS::UID::AutoCommit = 0;