/** * @param string $transactionId * * @return int */ public function getCurrentSequenceNumber($transactionId) { $transactionEntity = $this->queryContainer->getCurrentSequenceNumberQuery($transactionId)->findOne(); // If we have a transactionId but no status log we return the configured default if (!$transactionEntity || !$transactionEntity->getSequenceNumber()) { return $this->defaultEmptySequenceNumber; } return $transactionEntity->getSequenceNumber(); }
/** * @param \Generated\Shared\Transfer\PaymentDataTransfer $paymentDataTransfer * @param int $idOrder * * @return void */ public function updatePaymentDetail(PaymentDataTransfer $paymentDataTransfer, $idOrder) { $paymentEntity = $this->queryContainer->getPaymentByOrderId($idOrder)->findOne(); $paymentDetailEntity = $paymentEntity->getSpyPaymentPayoneDetail(); $paymentDetailEntity->fromArray($paymentDataTransfer->toArray()); $paymentDetailEntity->save(); }
/** * @param int $idSalesOrder * @param int $idSalesOrderItem * * @return \Orm\Zed\Payone\Persistence\SpyPaymentPayoneTransactionStatusLog[] */ private function getUnprocessedTransactionStatusLogs($idSalesOrder, $idSalesOrderItem) { $transactionStatusLogs = $this->queryContainer->getTransactionStatusLogsBySalesOrder($idSalesOrder)->find(); $ids = []; /** @var \Orm\Zed\Payone\Persistence\SpyPaymentPayoneTransactionStatusLog $transactionStatusLog */ foreach ($transactionStatusLogs as $transactionStatusLog) { $ids[$transactionStatusLog->getIdPaymentPayoneTransactionStatusLog()] = $transactionStatusLog; } $relations = $this->queryContainer->getTransactionStatusLogOrderItemsByLogIds($idSalesOrderItem, array_keys($ids))->find(); /** @var \Orm\Zed\Payone\Persistence\SpyPaymentPayoneTransactionStatusLogOrderItem $relation */ foreach ($relations as $relation) { unset($ids[$relation->getIdPaymentPayoneTransactionStatusLog()]); } return $ids; }
/** * @param \Orm\Zed\Payone\Persistence\SpyPaymentPayone $payment * @param string $authorizationType * * @return \Orm\Zed\Payone\Persistence\SpyPaymentPayoneApiLog */ protected function findApiLog(SpyPaymentPayone $payment, $authorizationType) { return $this->queryContainer->getApiLogByPaymentAndRequestTypeQuery($payment->getPrimaryKey(), $authorizationType)->findOne(); }