/**
  * @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);
 }
예제 #2
0
 /**
  * @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());
 }