1 package Business::OnlinePayment::PPIPayMover::CreditCardResponse;
\r
5 use Business::OnlinePayment::PPIPayMover::TransactionResponse;
\r
6 use Business::OnlinePayment::PPIPayMover::PayerAuthenticationResponse;
\r
7 use Business::OnlinePayment::PPIPayMover::constants;
\r
9 @ISA = qw(Business::OnlinePayment::PPIPayMover::TransactionResponse);
\r
13 my $InString = shift;
\r
14 my $self = $class->SUPER::new($InString);
\r
16 $self->{oPayerAuthenticationResponse} = undef;
\r
17 $self->{strReferenceId} = undef;
\r
18 $self->{strBatchId} = undef;
\r
19 $self->{strBankTransactionId} = undef;
\r
20 $self->{strBankApprovalCode} = undef;
\r
21 $self->{strState} = undef;
\r
22 $self->{strAuthorizedAmount} = undef;
\r
23 $self->{strOriginalAuthorizedAmount} = undef;
\r
24 $self->{strCapturedAmount} = undef;
\r
25 $self->{strCreditedAmount} = undef;
\r
26 $self->{strTimeStampCreated} = undef;
\r
27 $self->{strOrderId} = undef;
\r
28 $self->{strIsoCode} = undef;
\r
29 $self->{strAVSCode} = "None"; # v1.5
\r
30 $self->{strCreditCardVerificationResponse} = undef;
\r
32 if ($self->{iResponseCode} == TRANSACTION_SERVER_ERROR || $self->{iResponseCode} == INVALID_VERSION) {
\r
35 if (!($$InString) && !($self->{iResponseCode} == SUCCESSFUL_TRANSACTION)) {
\r
39 my @temp = split(/\n/, $$InString);
\r
42 $self->{strError} .= "input string is in wrong format";
\r
43 $self->{iRetVal} = 0;
\r
47 # Looking to see if there is a nested Payer Authentication Response
\r
48 my $payerAuthResponse = new Business::OnlinePayment::PPIPayMover::TransactionResponse($InString,AUTHENTICATION_PREFIX);
\r
50 if (defined($payerAuthResponse->GetResponseCode)){
\r
51 $self->{oPayerAuthenticationResponse} = new Business::OnlinePayment::PPIPayMover::PayerAuthenticationResponse($InString,AUTHENTICATION_PREFIX);
\r
58 ($name, $value) = split(/=/, $_, 2);
\r
60 if ($name eq "capture_reference_id") {
\r
61 $self->{strReferenceId} = $value;
\r
63 elsif ($name eq "order_id") {
\r
64 $self->{strOrderId} = $value;
\r
66 elsif ($name eq "iso_code") {
\r
67 $self->{strIsoCode} = $value;
\r
69 elsif ($name eq "bank_approval_code") {
\r
70 $self->{strBankApprovalCode} = $value;
\r
72 elsif ($name eq "state") {
\r
73 $self->{strState} = $value;
\r
75 elsif ($name eq "authorized_amount") {
\r
76 $self->{strAuthorizedAmount} = $value;
\r
78 elsif ($name eq "original_authorized_amount") {
\r
79 $self->{strOriginalAuthorizedAmount} = $value;
\r
81 elsif ($name eq "captured_amount") {
\r
82 $self->{strCapturedAmount} = $value;
\r
84 elsif ($name eq "credited_amount") {
\r
85 $self->{strCreditedAmount} = $value;
\r
87 elsif ($name eq "time_stamp_created") {
\r
88 $self->{strTimeStampCreated} = $value;
\r
90 elsif ($name eq "bank_transaction_id") {
\r
91 $self->{strBankTransactionId} = $value;
\r
93 elsif ($name eq "batch_id") {
\r
94 $self->{strBatchId } = $value;
\r
96 elsif ($name eq "avs_code") {
\r
97 $self->{strAVSCode} = $value;
\r
99 elsif ($name eq "credit_card_verification_response") {
\r
100 $self->{strCreditCardVerificationResponse} = $value;
\r
103 $self->{strError} .= "Invalid data name: ";
\r
113 $self->{strBatchId};
\r
116 sub GetBankTransactionId
\r
119 $self->{strBankTransactionId};
\r
122 sub GetBankApprovalCode
\r
125 $self->{strBankApprovalCode};
\r
134 sub GetAuthorizedAmount
\r
137 $self->{strAuthorizedAmount};
\r
140 sub GetOriginalAuthorizedAmount
\r
143 $self->{strOriginalAuthorizedAmount};
\r
146 sub GetCapturedAmount
\r
149 $self->{strCapturedAmount};
\r
152 sub GetCreditedAmount
\r
155 $self->{strCreditedAmount};
\r
158 sub GetTimeStampCreated
\r
161 $self->{strTimeStampCreated};
\r
167 $self->{strOrderId};
\r
173 $self->{strIsoCode};
\r
176 sub GetCaptureReferenceId
\r
179 $self->{strReferenceId};
\r
185 $self->{strReferenceId};
\r
190 $self->{strAVSCode};
\r
193 sub GetCreditCardVerificationResponse {
\r
195 $self->{strCreditCardVerificationResponse};
\r
198 sub GetPayerAuthenticationResponse {
\r
200 $self->{oPayerAuthenticationResponse};
\r