/** * 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; }