diff options
Diffstat (limited to 'PayflowPro.pm')
-rw-r--r-- | PayflowPro.pm | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/PayflowPro.pm b/PayflowPro.pm index 0051fb9..fe70d7a 100644 --- a/PayflowPro.pm +++ b/PayflowPro.pm @@ -14,7 +14,7 @@ require Exporter; @ISA = qw(Exporter AutoLoader Business::OnlinePayment); @EXPORT = qw(); @EXPORT_OK = qw(); -$VERSION = '0.02'; +$VERSION = '0.04'; sub set_defaults { my $self = shift; @@ -197,14 +197,16 @@ sub submit { $self->authorization( $response->{'AUTHCODE'} ); $self->order_number( $response->{'PNREF'} ); my $avs_code = ''; - if ( $response->{AVSADDR} eq 'Y' && $response->{AVSZIP} eq 'Y' ) { - $avs_code = 'Y'; - } elsif ( $response->{AVSADDR} eq 'Y' ) { - $avs_code = 'A'; - } elsif ( $response->{AVSZIP} eq 'Y' ) { - $avs_code = 'Z'; - } elsif ( $response->{AVSADDR} eq 'N' || $response->{AVSZIP} eq 'N' ) { - $avs_code = 'N'; + if ( exists $response->{AVSADDR} || exists $response->{AVSZIP} ) { + if ( $response->{AVSADDR} eq 'Y' && $response->{AVSZIP} eq 'Y' ) { + $avs_code = 'Y'; + } elsif ( $response->{AVSADDR} eq 'Y' ) { + $avs_code = 'A'; + } elsif ( $response->{AVSZIP} eq 'Y' ) { + $avs_code = 'Z'; + } elsif ( $response->{AVSADDR} eq 'N' || $response->{AVSZIP} eq 'N' ) { + $avs_code = 'N'; + } } $self->avs_code( $avs_code ); $self->cvv2_code( $response->{'CVV2MATCH'}); |