- my $hash = shift;
- $hash->{'paid'} = sprintf("%.2f", $hash->{'paid'} / 100 );
- $hash->{'_date'} = time;
- $hash->{'payinfo'} =~ s/^(\S+).*/$1/; # these often have trailing spaces
- $hash->{'payinfo'} = $hash->{'payinfo'} . '@' . $hash->{'bank'};
+ # pull client_num from config and check it against what's in the batch
+ state $clientnum ||= do {
+ my $conf = FS::Conf->new;
+ my @config = $conf->config("batchconfig-RBC");
+ $config[0];
+ };
+
+ my $hash = shift;
+ $hash->{'paid'} = sprintf("%.2f", $hash->{'paid'} / 100 );
+ $hash->{'_date'} = time;
+ $hash->{'payinfo'} =~ s/^(\S+).*/$1/; # these often have trailing spaces
+ $hash->{'payinfo'} = $hash->{'payinfo'} . '@' . $hash->{'bank'};
+
+ if ( $clientnum and $hash->{clientnum} ne $clientnum ) {
+ die "RBC client number in batch (".$hash->{clientnum}.") does not ".
+ "match configuration.\n";
+ }
+ '';