diff options
| author | Christopher Burger <burgerc@freeside.biz> | 2018-11-29 14:49:24 -0500 |
|---|---|---|
| committer | Christopher Burger <burgerc@freeside.biz> | 2018-11-29 22:57:02 -0500 |
| commit | 44a2299c10d051d152d0a000641d7740299be3d4 (patch) | |
| tree | dd7291f8861c32d7f9b91a209cfa2af500887c69 /FS | |
| parent | bb9e4d6e36cd509a307dbed69b2d3cee3078da17 (diff) | |
RT# 81557 - Added checkbox to validate cc on import, and cc validation.
Conflicts:
FS/FS/cust_main/Import.pm
Diffstat (limited to 'FS')
| -rw-r--r-- | FS/FS/cust_main/Import.pm | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/FS/FS/cust_main/Import.pm b/FS/FS/cust_main/Import.pm index d7a66db1b..49d87f231 100644 --- a/FS/FS/cust_main/Import.pm +++ b/FS/FS/cust_main/Import.pm @@ -16,6 +16,7 @@ use FS::svc_external; use FS::svc_phone; use FS::svc_hardware; use FS::part_referral; +use Business::CreditCard 0.35; $DEBUG = 0; @@ -98,6 +99,7 @@ sub process_batch_import { agentnum => $param->{'agentnum'}, refnum => $param->{'refnum'}, pkgpart => $param->{'pkgpart'}, + validate_cc => $param->{'validate_cc'}, #'fields' => [qw( cust_pkg.setup dayphone first last address1 address2 # city state zip comments )], 'format' => $param->{'format'}, @@ -128,6 +130,7 @@ sub batch_import { my $agentnum = $param->{agentnum}; my $refnum = $param->{refnum}; my $pkgpart = $param->{pkgpart}; + my $validate_cc = $param->{validate_cc}; my $format = $param->{'format'}; @@ -431,6 +434,15 @@ sub batch_import { $cust_main{'payby'} = 'CARD'; if ($cust_main{'payinfo'} =~ /^\s*([AD]?)(.*)\s*$/) { + + ## validate credit card if requested + if ($validate_cc) { + validate($2) + or return "Invalid card($2) for customer ".$cust_main{'first'}." ".$cust_main{'last'}; + return "Unknown card type for customer ".$cust_main{'first'}." ".$cust_main{'last'} + if cardtype($2) eq "Unknown"; + } + $cust_main{'payby'} = 'DCRD' if $1 eq 'D'; $cust_main{'payinfo'} = $2; } |
