2 package Business::OnlinePayment::PPIPayMover::TransactionClient;
\r
3 use Business::OnlinePayment::PPIPayMover::TransactionResponse;
\r
4 use Business::OnlinePayment::PPIPayMover::TransactionRequest;
\r
5 use Business::OnlinePayment::PPIPayMover::CreditCardRequest;
\r
6 use Business::OnlinePayment::PPIPayMover::CreditCardResponse;
\r
7 use Business::OnlinePayment::PPIPayMover::SecureHttp;
\r
8 use Business::OnlinePayment::PPIPayMover::constants;
\r
11 # default constructor
\r
15 $self->{strError} = "";
\r
16 $self->{strResponse} = "";
\r
17 bless $self, $class;
\r
21 sub doTransaction # take three arguements
\r
24 my $TransactionKey = shift; # the first arguement(string)
\r
25 my $transReq = shift; # the second arguement(class object)
\r
26 my $AccountToken = shift; # the third arguement(string)
\r
28 my $PostString = "";
\r
29 my $ResponseString = "";
\r
31 # write out account_token ...
\r
32 $PostString .= "account_token=$AccountToken";
\r
35 # write out transaction_key ...
\r
36 #$PostString .= "transaction_key=$TransactionKey";
\r
37 #$PostString .= "&";
\r
39 # write out version_id ...
\r
40 my $temp = PPI_VERSION;
\r
42 $PostString .= "version_id=$temp";
\r
45 $transReq->WriteRequest(\$PostString); # get post information
\r
47 my $ResponseContent;
\r
48 my $secureHttp = new Business::OnlinePayment::PPIPayMover::SecureHttp;
\r
49 my $strServer = PAY_HOST;
\r
50 my $strPath = PAY_HOST_PATH;
\r
51 my $iPort = PAY_HOST_PORT;
\r
54 if(!$secureHttp->Init) {
\r
55 $self->{strError} = $secureHttp->GetErrorString;
\r
59 if(!$secureHttp->Connect($strServer, $iPort)) {
\r
60 $self->{strError} = $secureHttp->GetErrorString;
\r
63 if(!$secureHttp->DoSecurePost($strPath, $PostString, \$self->{strResponse})) {
\r
64 $self->{strError} .= $secureHttp->GetErrorString;
\r
68 $secureHttp->DisconnectFromServer;
\r
69 $secureHttp->CleanUp;
\r
71 my $i = index($self->{strResponse}, "response_code");
\r
73 $ResponseContent = substr($self->{strResponse}, $i);
\r
74 return $transReq->GetTransResponseObject(\$ResponseContent);
\r
86 return $self->{strError};
\r
89 #JString TransactionClient::GetResponseString()
\r
91 # return m_jstrResponse;
\r