/** * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer * @param int $idPayment * * @return \Generated\Shared\Transfer\PayolutionTransactionResponseTransfer */ public function preAuthorizePayment(OrderTransfer $orderTransfer, $idPayment) { $paymentEntity = $this->getPaymentEntity($idPayment); $methodMapper = $this->getMethodMapper($paymentEntity->getAccountBrand()); $this->checkMaxMinGrandTotal($orderTransfer->getTotals()->getGrandTotal(), $methodMapper->getMinGrandTotal(), $methodMapper->getMaxGrandTotal()); $requestData = $methodMapper->buildPreAuthorizationRequest($orderTransfer, $paymentEntity); return $this->sendLoggedRequest($requestData, $paymentEntity); }
/** * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer * @param \Orm\Zed\Payolution\Persistence\SpyPaymentPayolution $paymentEntity * @param string $paymentCode * @param string $uniqueId * * @return array */ protected function getBaseTransactionRequestForPayment(OrderTransfer $orderTransfer, SpyPaymentPayolution $paymentEntity, $paymentCode, $uniqueId) { $requestData = $this->getBaseTransactionRequest($orderTransfer->getTotals()->getGrandTotal(), $paymentEntity->getCurrencyIso3Code(), $orderTransfer->getIdSalesOrder()); $this->addRequestData($requestData, [ApiConstants::TRANSACTION_CHANNEL => $this->getTransactionChannel(), ApiConstants::PAYMENT_CODE => $paymentCode, ApiConstants::IDENTIFICATION_REFERENCEID => $uniqueId]); return $requestData; }
/** * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer * * @return void */ protected function assertSubtotalWithProductOptionsRequirements(OrderTransfer $orderTransfer) { $orderTransfer->requireTotals(); $orderTransfer->getTotals()->requireSubtotal(); }