initial import
[Business-OnlinePayment-PPIPayMover.git] / lib / Business / OnlinePayment / PPIPayMover / PayerAuthenticationResponse.pm
1 package Business::OnlinePayment::PPIPayMover::PayerAuthenticationResponse;\r
2 \r
3 use strict;\r
4 use vars qw(@ISA);\r
5 use Business::OnlinePayment::PPIPayMover::TransactionResponse;\r
6 use Business::OnlinePayment::PPIPayMover::constants;\r
7 \r
8 @ISA = qw(Business::OnlinePayment::PPIPayMover::TransactionResponse);\r
9 \r
10 sub new {\r
11   my $class = shift;\r
12   my @param = @_;\r
13   my $paramNo = @param;\r
14   \r
15   my $InString = shift;\r
16   my $prefix = "";\r
17     \r
18   if( $paramNo == 2){\r
19     $prefix = shift;\r
20   }\r
21   my $self = $class->SUPER::new($InString,$prefix);\r
22   \r
23   $self->{strAuthenticationTransactionId} = "";\r
24   $self->{strLookupPayload} = "";\r
25   $self->{strHiddenFields} = "";\r
26   $self->{strOrderId} = "";\r
27   $self->{strAuthenticationURL} = "";\r
28   $self->{strCavv} = "";\r
29   $self->{strXID} = "";\r
30   $self->{strStatus} = "";\r
31   $self->{strTransactionConditionCode} = "";\r
32   if ($self->{iResponseCode} == TRANSACTION_SERVER_ERROR || $self->{iResponseCode} == INVALID_VERSION) {\r
33     return $self;\r
34   }\r
35   if (!($$InString) && !($self->{iResponseCode} == SUCCESSFUL_TRANSACTION)) {\r
36     return $self;\r
37   }\r
38   \r
39   my @temp = split(/\n/, $$InString);\r
40   my $size = @temp;\r
41   if ($size < 10) {\r
42     $self->{strError} .= "input string is in wrong format";\r
43     $self->{iRetVal} = 0;\r
44     return $self;\r
45   }\r
46   #splice(@temp, 0, 4);\r
47   my $name;\r
48   my $value;\r
49   foreach (@temp) {\r
50   \r
51     # Anything after the first = is part\r
52     # of the value (including other ='s)\r
53     ($name, $value) = split(/=/, $_, 2);\r
54     \r
55     if ($name eq $prefix."authentication_transaction_id") {\r
56       $self->{strAuthenticationTransactionId} = $value;\r
57     }\r
58     elsif ($name eq $prefix."lookup_payload") {\r
59       $self->{strLookupPayload} = $value;\r
60     }\r
61     elsif ($name eq $prefix."hidden_fields") {\r
62       $self->{strHiddenFields} = $value;\r
63     }\r
64     elsif ($name eq $prefix."order_id") {\r
65       $self->{strOrderId} = $value;\r
66     }\r
67     elsif ($name eq $prefix."authentication_url") {\r
68       $self->{strAuthenticationURL} = $value;\r
69     }\r
70     elsif ($name eq $prefix."cavv") {\r
71       $self->{strCavv } = $value;\r
72     }\r
73     elsif ($name eq $prefix."x_id") {\r
74       $self->{strXID} = $value;\r
75     }\r
76     elsif ($name eq $prefix."status") {\r
77       $self->{strStatus} = $value;\r
78     }\r
79     elsif ($name eq $prefix."transaction_condition_code") {\r
80           $self->{strTransactionConditionCode} = $value;\r
81     }\r
82     else {\r
83       $self->{strError} .= "Invalid data name: ";\r
84     }\r
85   }\r
86   return $self;\r
87 }\r
88 \r
89 \r
90 sub GetAuthenticationTransactionId\r
91 {\r
92   my $self = shift;\r
93   $self->{strAuthenticationTransactionId};\r
94 }\r
95 \r
96 sub GetLookupPayload\r
97 {\r
98   my $self = shift;\r
99   $self->{strLookupPayload};\r
100 }\r
101 \r
102 sub GetHiddenFields\r
103 {\r
104   my $self = shift;\r
105   $self->{strHiddenFields};\r
106 }\r
107 \r
108 sub GetOrderId\r
109 {\r
110   my $self = shift;\r
111   $self->{strOrderId};\r
112 }\r
113 \r
114 sub GetAuthenticationURL\r
115 {\r
116   my $self = shift;\r
117   $self->{strAuthenticationURL};\r
118 }\r
119 \r
120 sub GetCavv\r
121 {\r
122   my $self = shift;\r
123   $self->{strCavv};\r
124 }\r
125 \r
126 sub GetXID\r
127 {\r
128   my $self = shift;\r
129   $self->{strXID};\r
130 }\r
131 \r
132 sub GetStatus {\r
133     my $self = shift;\r
134     $self->{strStatus};\r
135 }\r
136 \r
137 sub GetTransactionConditionCode {\r
138     my $self = shift;\r
139     $self->{strTransactionConditionCode};\r
140 }\r