package Business::OnlinePayment::PPIPayMover::PayerAuthenticationResponse; use strict; use vars qw(@ISA); use Business::OnlinePayment::PPIPayMover::TransactionResponse; use Business::OnlinePayment::PPIPayMover::constants; @ISA = qw(Business::OnlinePayment::PPIPayMover::TransactionResponse); sub new { my $class = shift; my @param = @_; my $paramNo = @param; my $InString = shift; my $prefix = ""; if( $paramNo == 2){ $prefix = shift; } my $self = $class->SUPER::new($InString,$prefix); $self->{strAuthenticationTransactionId} = ""; $self->{strLookupPayload} = ""; $self->{strHiddenFields} = ""; $self->{strOrderId} = ""; $self->{strAuthenticationURL} = ""; $self->{strCavv} = ""; $self->{strXID} = ""; $self->{strStatus} = ""; $self->{strTransactionConditionCode} = ""; if ($self->{iResponseCode} == TRANSACTION_SERVER_ERROR || $self->{iResponseCode} == INVALID_VERSION) { return $self; } if (!($$InString) && !($self->{iResponseCode} == SUCCESSFUL_TRANSACTION)) { return $self; } my @temp = split(/\n/, $$InString); my $size = @temp; if ($size < 10) { $self->{strError} .= "input string is in wrong format"; $self->{iRetVal} = 0; return $self; } #splice(@temp, 0, 4); my $name; my $value; foreach (@temp) { # Anything after the first = is part # of the value (including other ='s) ($name, $value) = split(/=/, $_, 2); if ($name eq $prefix."authentication_transaction_id") { $self->{strAuthenticationTransactionId} = $value; } elsif ($name eq $prefix."lookup_payload") { $self->{strLookupPayload} = $value; } elsif ($name eq $prefix."hidden_fields") { $self->{strHiddenFields} = $value; } elsif ($name eq $prefix."order_id") { $self->{strOrderId} = $value; } elsif ($name eq $prefix."authentication_url") { $self->{strAuthenticationURL} = $value; } elsif ($name eq $prefix."cavv") { $self->{strCavv } = $value; } elsif ($name eq $prefix."x_id") { $self->{strXID} = $value; } elsif ($name eq $prefix."status") { $self->{strStatus} = $value; } elsif ($name eq $prefix."transaction_condition_code") { $self->{strTransactionConditionCode} = $value; } else { $self->{strError} .= "Invalid data name: "; } } return $self; } sub GetAuthenticationTransactionId { my $self = shift; $self->{strAuthenticationTransactionId}; } sub GetLookupPayload { my $self = shift; $self->{strLookupPayload}; } sub GetHiddenFields { my $self = shift; $self->{strHiddenFields}; } sub GetOrderId { my $self = shift; $self->{strOrderId}; } sub GetAuthenticationURL { my $self = shift; $self->{strAuthenticationURL}; } sub GetCavv { my $self = shift; $self->{strCavv}; } sub GetXID { my $self = shift; $self->{strXID}; } sub GetStatus { my $self = shift; $self->{strStatus}; } sub GetTransactionConditionCode { my $self = shift; $self->{strTransactionConditionCode}; }