/**
  * @param array $data parsed xml response
  * @return Payment
  * @throws Errors\Error
  */
 function createResponse($data)
 {
     $payment = new Payment($data['payment']);
     if (!$payment->unique_id) {
         if ($payment->error) {
             throw $payment->error;
         }
         Config::getLogger()->error('unknown response error. data:' . Helper::stripCc(print_r($data, true)));
         throw new Errors\Error('unknown response error');
     }
     return $payment;
 }
 /**
  * @param array $data
  * @return Hypercharge\IResponse
  * @throws Hypercharge\Errors\Error
  */
 function createResponse($data)
 {
     if (is_array($data['payment_response'])) {
         $trx = new Transaction($data['payment_response']);
         if (!$trx->unique_id) {
             if ($trx->error) {
                 throw $trx->error;
             } else {
                 Config::getLogger()->error('unknown response error. data:' . Helper::stripCc(print_r($data, true)));
                 throw new Error('unknown response error');
             }
         }
         return $trx;
     }
     if (is_array($data['payment_responses'])) {
         $ret = array();
         foreach ($data['payment_responses'] as $r) {
             array_push($ret, new Transaction($r['payment_response']));
         }
         return $ret;
     }
     throw new Errors\ArgumentError('field "payment_response" resp. "payment_responses" is empty');
 }
Example #3
0
 function logError($str)
 {
     Config::getLogger()->error(Helper::stripCc($str));
 }