projects
/
freeside.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f0bb712
)
delete CVV when processing batch results, RT#9652
author
mark
<mark>
Tue, 24 Aug 2010 03:03:09 +0000
(
03:03
+0000)
committer
mark
<mark>
Tue, 24 Aug 2010 03:03:09 +0000
(
03:03
+0000)
FS/FS/pay_batch.pm
patch
|
blob
|
history
diff --git
a/FS/FS/pay_batch.pm
b/FS/FS/pay_batch.pm
index
0b8c9f7
..
2561d3d
100644
(file)
--- a/
FS/FS/pay_batch.pm
+++ b/
FS/FS/pay_batch.pm
@@
-7,6
+7,7
@@
use Text::CSV_XS;
use FS::Record qw( dbh qsearch qsearchs );
use FS::cust_pay;
use FS::Conf;
use FS::Record qw( dbh qsearch qsearchs );
use FS::cust_pay;
use FS::Conf;
+use Business::CreditCard qw(cardtype);
@ISA = qw(FS::Record);
@ISA = qw(FS::Record);
@@
-198,6
+199,8
@@
sub import_results {
my $job = $param->{'job'};
$job->update_statustext(0) if $job;
my $job = $param->{'job'};
$job->update_statustext(0) if $job;
+ my $conf = new FS::Conf;
+
my $filetype = $info->{'filetype'}; # CSV or fixed
my @fields = @{ $info->{'fields'}};
my $formatre = $info->{'formatre'}; # for fixed
my $filetype = $info->{'filetype'}; # CSV or fixed
my @fields = @{ $info->{'fields'}};
my $formatre = $info->{'formatre'}; # for fixed
@@
-356,6
+359,15
@@
sub import_results {
return "error updating status of paybatchnum $hash{'paybatchnum'}: $error\n";
}
return "error updating status of paybatchnum $hash{'paybatchnum'}: $error\n";
}
+ # purge CVV when the batch is processed
+ if ( $payby =~ /^(CARD|DCRD)$/ ) {
+ my $payinfo = $hash{'payinfo'} || $cust_pay_batch->payinfo;
+ if ( ! grep { $_ eq cardtype($payinfo) }
+ $conf->config('cvv-save') ) {
+ $new_cust_pay_batch->cust_main->remove_cvv;
+ }
+ }
+
if ( $new_cust_pay_batch->status =~ /Approved/i ) {
my $cust_pay = new FS::cust_pay ( {
if ( $new_cust_pay_batch->status =~ /Approved/i ) {
my $cust_pay = new FS::cust_pay ( {