Ejemplo n.º 1
0
 /**
  * Gets payment logs (both api and transaction status) for specific orders in chronological order.
  *
  * @param \Propel\Runtime\Collection\ObjectCollection $orders
  *
  * @return \Generated\Shared\Transfer\PayonePaymentLogTransfer[]
  */
 public function getPaymentLogs(ObjectCollection $orders)
 {
     $apiLogs = $this->queryContainer->getApiLogsByOrderIds($orders)->find()->getData();
     $transactionStatusLogs = $this->queryContainer->getTransactionStatusLogsByOrderIds($orders)->find()->getData();
     $logs = [];
     /** @var \Orm\Zed\Payone\Persistence\SpyPaymentPayoneApiLog $apiLog */
     foreach ($apiLogs as $apiLog) {
         $key = $apiLog->getCreatedAt()->format('Y-m-d\\TH:i:s\\Z') . 'a' . $apiLog->getIdPaymentPayoneApiLog();
         $payonePaymentLogTransfer = new PayonePaymentLogTransfer();
         $payonePaymentLogTransfer->fromArray($apiLog->toArray(), true);
         $payonePaymentLogTransfer->setLogType(self::LOG_TYPE_API_LOG);
         $logs[$key] = $payonePaymentLogTransfer;
     }
     /** @var \Orm\Zed\Payone\Persistence\SpyPaymentPayoneTransactionStatusLog $transactionStatusLog */
     foreach ($transactionStatusLogs as $transactionStatusLog) {
         $key = $transactionStatusLog->getCreatedAt()->format('Y-m-d\\TH:i:s\\Z') . 't' . $transactionStatusLog->getIdPaymentPayoneTransactionStatusLog();
         $payonePaymentLogTransfer = new PayonePaymentLogTransfer();
         $payonePaymentLogTransfer->fromArray($transactionStatusLog->toArray(), true);
         $payonePaymentLogTransfer->setLogType(self::LOG_TYPE_TRANSACTION_STATUS_LOG);
         $logs[$key] = $payonePaymentLogTransfer;
     }
     ksort($logs);
     return $logs;
 }