Revision history for Business-BatchPayment-Paymentech
-0.05 unreleased
+0.05 Tue Jan 26 15:51:53 PST 2016
- enforce field lengths in raw bytes
+ - support recurring_billing flag
+ - support failure_status
+ - fix credit card expiration dates
0.04 unreleased
- make filenames unique when sending multiple batches
terminalID => $self->terminalID,
);
if ($item->payment_type eq 'CC') {
+ my $expiration = $item->expiration;
+ $expiration =~ s/\D//g;
push @order, (
ccAccountNum => $item->card_number,
- ccExp => $item->expiration,
+ ccExp => $expiration,
);
- }
- elsif ( $item->payment_type eq 'ECHECK' ) {
+ } elsif ( $item->payment_type eq 'ECHECK' ) {
push @order, (
cardBrand => 'EC',
ecpCheckRT => $item->routing_code,
ecpBankAcctType => $BankAcctType{ $item->account_type },
ecpDelvMethod => 'A',
);
- }
- else {
+ } else {
die "payment type ".$item->type." not supported";
}
+ if ( $item->recurring_billing eq 'F' ) {
+ push @order, ( recurringInd => 'RF' );
+ } elsif ( $item->recurring_billing eq 'S' ) {
+ push @order, ( recurringInd => 'RS' );
+ } # else don't send recurringInd at all
+
push @order, (
avsZip => $item->zip,
avsAddress1 => bytes_substr($item->address, 0, 30),
sub bytes_substr {
my ($string, $offset, $length, $repl) = @_;
my $bytes = substr(
- Encode::encode('utf8', $string),
+ Encode::encode('utf8', $string || ''),
$offset,
$length,
- Encode::encode('utf8', $repl)
+ Encode::encode('utf8', $repl || '')
);
return Encode::decode('utf8', $bytes, Encode::FB_QUIET);
}
Priority: optional
Maintainer: Mark Wells <mark@freeside.biz>
Build-Depends: debhelper (>= 9)
-Build-Depends-Indep: libbusiness-batchpayment-perl,
+Build-Depends-Indep: libbusiness-batchpayment-perl (>= 0.03),
libmoose-perl (>= 1.09),
+ libxml-writer-perl,
+ libxml-simple-perl,
+ libdatetime-perl,
perl
Standards-Version: 3.9.5
Homepage: https://metacpan.org/release/Business-BatchPayment-Paymentech