summaryrefslogtreecommitdiff
path: root/FS/FS/pay_batch/paymentech.pm
diff options
context:
space:
mode:
authorMitch Jackson <mitch@freeside.biz>2018-01-24 00:43:57 -0600
committerMitch Jackson <mitch@freeside.biz>2018-02-28 20:39:36 -0600
commitfaf4866cd552cc40045fd048ac77ea8f2bece2d3 (patch)
tree25155eaf278c61406ff1e30474b92bb292090941 /FS/FS/pay_batch/paymentech.pm
parent6635b3ee826a8dcd8755c4a1277f3ae268889f1e (diff)
RT# 77144 replace bytes_substr with Unicode::Truncate
Diffstat (limited to 'FS/FS/pay_batch/paymentech.pm')
-rw-r--r--FS/FS/pay_batch/paymentech.pm16
1 files changed, 9 insertions, 7 deletions
diff --git a/FS/FS/pay_batch/paymentech.pm b/FS/FS/pay_batch/paymentech.pm
index 3cf3134..bb2c258 100644
--- a/FS/FS/pay_batch/paymentech.pm
+++ b/FS/FS/pay_batch/paymentech.pm
@@ -8,7 +8,7 @@ use Date::Format 'time2str';
use Date::Parse 'str2time';
use Tie::IxHash;
use FS::Conf;
-use FS::Misc 'bytes_substr';
+use Unicode::Truncate 'truncate_egc';
my $conf;
my ($bin, $merchantID, $terminalID, $username, $password, $with_recurringInd);
@@ -131,12 +131,14 @@ my %paymentech_countries = map { $_ => 1 } qw( US CA GB UK );
ecpBankAcctType => $paytype{lc($_->paytype)},
ecpDelvMethod => 'A',
),
- avsZip => bytes_substr($_->zip, 0, 10),
- avsAddress1 => bytes_substr($_->address1, 0, 30),
- avsAddress2 => bytes_substr($_->address2, 0, 30),
- avsCity => bytes_substr($_->city, 0, 20),
- avsState => bytes_substr($_->state, 0, 2),
- avsName => bytes_substr($_->first. ' '. $_->last, 0, 30),
+ # truncate_egc will die() on empty string
+ avsZip => $_->zip ? truncate_egc($_->zip, 10) : undef,
+ avsAddress1 => $_->address1 ? truncate_egc($_->address1, 30) : undef,
+ avsAddress2 => $_->address2 ? truncate_egc($_->address2, 30) : undef,
+ avsCity => $_->city ? truncate_egc($_->city, 20) : undef,
+ avsState => $_->state ? truncate_egc($_->state, 2) : undef,
+ avsName => ($_->first || $_->last)
+ ? truncate_egc($_->first. ' '. $_->last, 30) : undef,
( $paymentech_countries{ $_->country }
? ( avsCountryCode => $_->country )
: ()