public function fromJson($responseData)
 {
     $paymentCompleteResponse = new PaymentCompleteResponse();
     $paymentCompleteResponse->setClientId($responseData[responseData][clientId]);
     $paymentCompleteResponse->setClientIdHash($responseData[responseData][clientIdHash]);
     $paymentCompleteResponse->setTransactionType($responseData[responseData][transactionType]);
     $creditCard = new CreditCard();
     $creditCard->setType($responseData[responseData][creditCard][type]);
     $creditCard->setHolderName($responseData[responseData][creditCard][holderName]);
     $creditCard->setNumber($responseData[responseData][creditCard][number]);
     $creditCard->setExpiry($responseData[responseData][creditCard][expiry]);
     $paymentCompleteResponse->setCreditCard($creditCard);
     $transactionAmount = new TransactionAmount();
     $transactionAmount->setTotalAmount($responseData[responseData][transactionAmount][totalAmount]);
     $transactionAmount->setPaymentAmount($responseData[responseData][transactionAmount][paymentAmount]);
     $transactionAmount->setServiceFeeAmount($responseData[responseData][transactionAmount][serviceFeeAmount]);
     $transactionAmount->setWithholdingAmount($responseData[responseData][transactionAmount][withholdingAmount]);
     $transactionAmount->setCurrency($responseData[responseData][transactionAmount][currency]);
     $paymentCompleteResponse->setTransactionAmount($transactionAmount);
     $paymentCompleteResponse->setClientRef($responseData[responseData][clientRef]);
     $paymentCompleteResponse->setComment($responseData[responseData][comment]);
     $paymentCompleteResponse->setTxnReference($responseData[responseData][txnReference]);
     $paymentCompleteResponse->setFeeReference($responseData[responseData][feeReference]);
     $paymentCompleteResponse->setResponseCode($responseData[responseData][responseCode]);
     $paymentCompleteResponse->setResponseText($responseData[responseData][responseText]);
     $paymentCompleteResponse->setSettlementDate($responseData[responseData][settlementDate]);
     $paymentCompleteResponse->setToken($responseData[responseData][token]);
     $paymentCompleteResponse->setTokenized($responseData[responseData][tokenized]);
     $paymentCompleteResponse->setTokenResponseText($responseData[responseData][tokenResponseText]);
     $paymentCompleteResponse->setAuthCode($responseData[responseData][authCode]);
     $paymentCompleteResponse->setCvcResponse($responseData[responseData][cvcResponse]);
     return $paymentCompleteResponse;
 }