/** * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer * * @return \Generated\Shared\Transfer\PayolutionCalculationResponseTransfer */ protected function getInstallmentPayments(QuoteTransfer $quoteTransfer) { if ($this->payolutionClient->hasInstallmentPaymentsInSession()) { $calculationResponseTransfer = $this->payolutionClient->getInstallmentPaymentsFromSession(); if ($this->isInstallmentPaymentsStillValid($quoteTransfer, $calculationResponseTransfer)) { return $calculationResponseTransfer; } } $calculationResponseTransfer = $this->payolutionClient->calculateInstallmentPayments($quoteTransfer); return $this->payolutionClient->storeInstallmentPaymentsInSession($calculationResponseTransfer); }
/** * @param \Generated\Shared\Transfer\PayolutionPaymentTransfer $payolutionPaymentTransfer * * @return void */ protected function setPayolutionInstallmentPayment(PayolutionPaymentTransfer $payolutionPaymentTransfer) { if ($this->payolutionClient->hasInstallmentPaymentsInSession() === false) { return; } $payolutionCalculationResponseTransfer = $this->payolutionClient->getInstallmentPaymentsFromSession(); $installmentPaymentDetail = $payolutionCalculationResponseTransfer->getPaymentDetails()[$payolutionPaymentTransfer->getInstallmentPaymentDetailIndex()]; $payolutionPaymentTransfer->setInstallmentCalculationId($payolutionCalculationResponseTransfer->getIdentificationUniqueid())->setInstallmentAmount($installmentPaymentDetail->getInstallments()[0]->getAmount())->setInstallmentDuration($installmentPaymentDetail->getDuration()); }