From 4e8b625bd70a0a118bc0c2e329e1e9491a0171ca Mon Sep 17 00:00:00 2001 From: ivan Date: Wed, 11 Oct 2006 11:01:42 +0000 Subject: [PATCH] 0.04 --- Changes | 6 ++++++ PayflowPro.pm | 20 +++++++++++--------- t/bad_auth.t | 16 ++++++++++------ t/credit_card.t | 16 ++++++++++------ 4 files changed, 37 insertions(+), 21 deletions(-) diff --git a/Changes b/Changes index 3cc52ee..65ec304 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,11 @@ Revision history for Perl extension Business::OnlinePayment::PayflowPro. +0.04 Wed Oct 11 04:00:36 PDT 2006 + - Prevent unnecessary warnings when no AVS response elements are + received, patch from Michael Peters + - have tests work with environment variables + - forgot to increment the version number in 0.03 + 0.03 Tue Aug 2 17:56:11 PDT 2005 - Fix inadvertant clobbering of zip code, patch from , CPAN bug #13896 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'}); diff --git a/t/bad_auth.t b/t/bad_auth.t index 2ed6e69..40db574 100644 --- a/t/bad_auth.t +++ b/t/bad_auth.t @@ -2,16 +2,20 @@ BEGIN { $| = 1; print "1..1\n"; } use Business::OnlinePayment; +die "set environment variables to test: PFPRO_USER, PFPRO_VENDOR, PFPRO_PWD, ". + "and optionally PFPRO_PARTNER and PFPRO_CERT_PATH\n" + unless $ENV{'PFPRO_USER'} && $ENV{'PFPRO_VENDOR'} && $ENV{'PFPRO_PWD'}; + my $tx = new Business::OnlinePayment("PayflowPro", - #'vendor' => 'your_vendor', - 'partner' => 'verisign', - 'cert_path' => '/home/ivan/Business-OnlinePayment-PayflowPro.docs/verisign/payflowpro/linux/certs/', + 'vendor' => $ENV{PFPRO_VENDOR} , + 'partner' => ( $ENV{PFPRO_PARTNER} || 'verisign' ), + 'cert_path' => ( $ENV{PFPRO_CERT_PATH} || '.' ) , ); $tx->content( type => 'VISA', - login => 'test231', - password => '231test', + login => $ENV{'PFPRO_USER'}, + password => $ENV{'PFPRO_PWD'}, action => 'Normal Authorization', description => 'Business::OnlinePayment::PayflowPro visa test', amount => '0.01', @@ -26,7 +30,7 @@ $tx->content( #card_number => '4007000000027', #card_number => '4111111111111111', card_number => '4111111111111112', - expiration => '12/2004', + expiration => '12/2009', ); $tx->test_transaction(1); diff --git a/t/credit_card.t b/t/credit_card.t index 1ca1be7..6ba927d 100644 --- a/t/credit_card.t +++ b/t/credit_card.t @@ -2,16 +2,20 @@ BEGIN { $| = 1; print "1..1\n"; } use Business::OnlinePayment; +die "set environment variables to test: PFPRO_USER, PFPRO_VENDOR, PFPRO_PWD, ". + "and optionally PFPRO_PARTNER and PFPRO_CERT_PATH\n" + unless $ENV{'PFPRO_USER'} && $ENV{'PFPRO_VENDOR'} && $ENV{'PFPRO_PWD'}; + my $tx = new Business::OnlinePayment("PayflowPro", - #'vendor' => 'your_vendor', - 'partner' => 'verisign', - 'cert_path' => '/home/ivan/Business-OnlinePayment-PayflowPro.docs/verisign/payflowpro/linux/certs/', + 'vendor' => $ENV{PFPRO_VENDOR} , + 'partner' => ( $ENV{PFPRO_PARTNER} || 'verisign' ), + 'cert_path' => ( $ENV{PFPRO_CERT_PATH} || '.' ) , ); $tx->content( type => 'VISA', - login => 'test231', - password => '231test', + login => $ENV{'PFPRO_USER'}, + password => $ENV{'PFPRO_PWD'}, action => 'Normal Authorization', description => 'Business::OnlinePayment::PayflowPro visa test', amount => '0.01', @@ -25,7 +29,7 @@ $tx->content( email => 'ivan-payflowpro@420.am', #card_number => '4007000000027', card_number => '4111111111111111', - expiration => '12/2004', + expiration => '12/2009', ); $tx->test_transaction(1); -- 2.11.0