/** * Add Message Payment Info * @param PaymentInfo $paymentInfoObject * @return $this * @throws \Exception */ public function addMessagePaymentInfo(PaymentInfo $paymentInfoObject) { try { if (!$paymentInfoObject instanceof PaymentInfo) { throw new \Exception('Was not PaymentInfo Object in addMessagePaymentInfo'); } } catch (\Exception $e) { $this->writeLog($e->getMessage()); } $paymentInfoObject->resetNumberOfTransactions(); $paymentInfoObject->resetControlSum(); $this->paymentInfoObjects[$paymentInfoObject->getSequenceType()] = $paymentInfoObject; return $this; }
/** * Retrieve paymentInfo model * * @param order $order * @param int $orderId * @return PaymentInfo */ public static function getPaymentInfoModel(order $order, $orderId = null) { $paymentInfo = new PaymentInfo(); $paymentInfo->setAmount(Data::getPaymentAmount($order, $orderId))->setCurrency($order->info['currency'])->setMethod(Data::getRpPaymentMethod($order->info['payment_method'])); if ($order->info['payment_method'] == 'ratepay_rate') { if (is_null($orderId)) { $paymentInfo->setDebitType('BANK-TRANSFER')->setInstallmentAmount(Session::getRpSessionEntry('ratepay_rate_rate'))->setInstallmentNumber(Session::getRpSessionEntry('ratepay_rate_number_of_rates'))->setInterestRate(Session::getRpSessionEntry('ratepay_rate_interest_rate'))->setLastInstallmentAmount(Session::getRpSessionEntry('ratepay_rate_last_rate'))->setPaymentFirstDay(Session::getRpSessionEntry('ratepay_payment_firstday')); } else { $details = Db::getRatepayRateDetails($orderId); $paymentInfo->setDebitType('BANK-TRANSFER')->setInstallmentAmount($details['rate'])->setInstallmentNumber($details['number_of_rates'])->setInterestRate($details['interest_amount'])->setLastInstallmentAmount($details['last_rate'])->setPaymentFirstDay($details['payment_firstday']); } } return $paymentInfo; }