summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2006-10-11 11:01:42 +0000
committerivan <ivan>2006-10-11 11:01:42 +0000
commit4e8b625bd70a0a118bc0c2e329e1e9491a0171ca (patch)
tree6e63e8b07ea517bf7072a1e0a603390d88adb9b2
parent0c7b01010edc4223bdf74649592731e8268e708c (diff)
-rw-r--r--Changes6
-rw-r--r--PayflowPro.pm20
-rw-r--r--t/bad_auth.t16
-rw-r--r--t/credit_card.t16
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 <mpeters@plusthree.com>
+ - 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
<phil@perkpartners.com>, 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);