@ISA = qw(Exporter AutoLoader Business::OnlinePayment);
@EXPORT = qw();
@EXPORT_OK = qw();
-$VERSION = '0.02_02';
+$VERSION = '0.04';
sub set_defaults {
my $self = shift;
- #$self->server('staging.linkpt.net');
$self->server('payflow.verisign.com');
$self->port('443');
$month = '0'. $month if $month =~ /^\d$/;
}
- $zip = $content{'zip'} =~ s/\D//;
+ ( $zip = $content{'zip'} ) =~ s/\D//g;
#}
#$content{'address'} =~ /^(\S+)\s/;
my @required = qw( TRXTYPE TENDER PARTNER VENDOR USER PWD );
if ( $self->transaction_type() eq 'C' ) { #credit card
- if ( $self->action() =~ /^[CDV]$/ && exists($content{'ORIGID'})
+ if ( $content{'action'} =~ /^[CDV]$/ && exists($content{'ORIGID'})
&& defined($content{'ORIGID'}) && length($content{'ORIGID'}) ) {
push @required, qw(ORIGID);
} else {
$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'});