Esempio n. 1
0
File: Api.php Progetto: payum/sofort
 /**
  * @param $transactionId
  *
  * @return array
  */
 public function getTransactionData($transactionId)
 {
     $transactionData = new TransactionData($this->options['config_key']);
     $transactionData->addTransaction($transactionId);
     $transactionData->setApiVersion('2.0');
     $transactionData->sendRequest();
     $fields = array();
     $methods = array('getAmount' => '', 'getAmountRefunded' => '', 'getCount' => '', 'getPaymentMethod' => '', 'getConsumerProtection' => '', 'getStatus' => '', 'getStatusReason' => '', 'getStatusModifiedTime' => '', 'getLanguageCode' => '', 'getCurrency' => '', 'getTransaction' => '', 'getReason' => array(0, 0), 'getUserVariable' => 0, 'getTime' => '', 'getProjectId' => '', 'getRecipientHolder' => '', 'getRecipientAccountNumber' => '', 'getRecipientBankCode' => '', 'getRecipientCountryCode' => '', 'getRecipientBankName' => '', 'getRecipientBic' => '', 'getRecipientIban' => '', 'getSenderHolder' => '', 'getSenderAccountNumber' => '', 'getSenderBankCode' => '', 'getSenderCountryCode' => '', 'getSenderBankName' => '', 'getSenderBic' => '', 'getSenderIban' => '');
     foreach ($methods as $method => $params) {
         $varName = $method;
         $varName = strtolower(preg_replace('/([^A-Z])([A-Z])/', '$1_$2', substr($varName, 3)));
         if (count($params) == 2) {
             $fields[$varName] = $transactionData->{$method}($params[0], $params[1]);
         } elseif ($params !== '') {
             $fields[$varName] = $transactionData->{$method}($params);
         } else {
             $fields[$varName] = $transactionData->{$method}();
         }
     }
     if ($transactionData->isError()) {
         $fields['error'] = $transactionData->getError();
     }
     return $fields;
 }