projects
/
Business-OnlinePayment-WesternACH.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix transret format change
[Business-OnlinePayment-WesternACH.git]
/
lib
/
Business
/
OnlinePayment
/
WesternACH.pm
diff --git
a/lib/Business/OnlinePayment/WesternACH.pm
b/lib/Business/OnlinePayment/WesternACH.pm
index
e81f0a3
..
4a73897
100644
(file)
--- a/
lib/Business/OnlinePayment/WesternACH.pm
+++ b/
lib/Business/OnlinePayment/WesternACH.pm
@@
-11,7
+11,7
@@
use Date::Parse 'str2time';
use vars qw($VERSION @ISA $me $DEBUG);
@ISA = qw(Business::OnlinePayment::HTTPS);
use vars qw($VERSION @ISA $me $DEBUG);
@ISA = qw(Business::OnlinePayment::HTTPS);
-$VERSION = '0.0
6
';
+$VERSION = '0.0
7
';
$me = 'Business::OnlinePayment::WesternACH';
$DEBUG = 0;
$me = 'Business::OnlinePayment::WesternACH';
$DEBUG = 0;
@@
-229,6
+229,7
@@
sub get_returns {
$self->is_success(0);
return;
}
$self->is_success(0);
return;
}
+ my $index_date_ret = 2; # Usual position of 'Date Returned'
foreach my $trans (split("\cJ", $page)) {
my @fields = split(',', $trans);
# fields:
foreach my $trans (split("\cJ", $page)) {
my @fields = split(',', $trans);
# fields:
@@
-237,8
+238,13
@@
sub get_returns {
# we only care about id and date.
next if scalar(@fields) < 10;
# we only care about id and date.
next if scalar(@fields) < 10;
+ if($fields[0] eq 'id') {
+ # Use this header row to find the 'Date Returned' field.
+ ($index_date_ret) = grep { lc($fields[$_]) eq 'date returned' } ( 0..scalar(@fields)-1 );
+ $index_date_ret ||= 2;
+ }
next if not($fields[0] =~ /^\d+$/);
next if not($fields[0] =~ /^\d+$/);
- my $rettime = str2time($fields[
1
]);
+ my $rettime = str2time($fields[
$index_date_ret
]);
next if (!$rettime or $rettime < $starttime or $rettime > $endtime);
carp $trans if $DEBUG > 1;
push @tids, $fields[0];
next if (!$rettime or $rettime < $starttime or $rettime > $endtime);
carp $trans if $DEBUG > 1;
push @tids, $fields[0];