0.04
[Business-OnlinePayment-PayflowPro.git] / PayflowPro.pm
index 0051fb9..fe70d7a 100644 (file)
@@ -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'});