/** * Fill fields of payment data objects by date from PaynetEasy response. * * @param PaymentTransaction $paymentTransaction Payment transaction to fill. * @param Response $response PaynetEasy response to get data from. */ protected function setFieldsFromResponse(PaymentTransaction $paymentTransaction, Response $response) { $payment = $paymentTransaction->getPayment(); $card = $payment->getRecurrentCardFrom(); if ($response->offsetExists('card-ref-id')) { $card->setPaynetId($response['card-ref-id']); } if ($response->offsetExists('last-four-digits')) { $card->setLastFourDigits($response['last-four-digits']); } if ($response->offsetExists('bin')) { $card->setBin($response['bin']); } if ($response->offsetExists('cardholder-name')) { $card->setCardPrintedName($response['cardholder-name']); } if ($response->offsetExists('card-exp-month')) { $card->setExpireMonth($response['card-exp-month']); } if ($response->offsetExists('card-exp-year')) { $card->setExpireYear($response['card-exp-year']); } if ($response->offsetExists('card-hash-id')) { $card->setCardHashId($response['card-hash-id']); } if ($response->offsetExists('card-type')) { $card->setCardType($response['card-type']); } }
protected function validatePaymentTransaction(PaymentTransaction $paymentTransaction) { if (!$paymentTransaction->getPayment()->isPaid()) { throw new ValidationException("Payment must be paid up to return funds"); } parent::validatePaymentTransaction($paymentTransaction); }
/** * Check, if payment transaction is finished and payment is not new. * * @param PaymentTransaction $paymentTransaction Payment transaction for checking */ protected function checkPaymentTransactionStatus(PaymentTransaction $paymentTransaction) { if (!$paymentTransaction->isFinished()) { throw new ValidationException('Only finished payment transaction can be used for create-card-ref-id'); } if (!$paymentTransaction->getPayment()->isPaid()) { throw new ValidationException("Can not use new payment for create-card-ref-id. Execute 'sale' or 'preauth' query first"); } }
/** * {@inheritdoc} */ protected function validatePaymentTransaction(PaymentTransaction $paymentTransaction) { if ($paymentTransaction->getPayment()->hasProcessingTransaction()) { throw new ValidationException('Payment can not has processing payment transaction'); } if (!$paymentTransaction->isNew()) { throw new ValidationException('Payment transaction must be new'); } parent::validatePaymentTransaction($paymentTransaction); }
/** * Updates joomla address by PaynetEasy order data * * @param jshopOrder $joomlaOrder Joomla order * @param PaymentTransaction $paynetTransaction PaynetEasy payment transaction */ protected function updateOrder(jshopOrder $joomlaOrder, PaymentTransaction $paynetTransaction) { $payment = $paynetTransaction->getPayment(); $joomlaOrder->paynet_order_id = $payment->getPaynetId(); $joomlaOrder->transaction_status = $paynetTransaction->getStatus(); $joomlaOrder->payment_status = $payment->getStatus(); }
/** * Add credit card data to PaynetEasy payment * * @param PaynetTransaction $paynetTransaction PaynetEasy payment transaction * @param MageOrder $mageOrder Magento order * * @return PaynetTransaction PaynetEasy payment transaction */ protected function addCreditCardData(PaynetTransaction $paynetTransaction, MageOrder $mageOrder) { $magePayment = Mage::getModel('sales/quote')->load($mageOrder->getQuoteId())->getPayment(); $paynetTransaction->getPayment()->getCreditCard()->setCardPrintedName($magePayment->getCcOwner())->setCreditCardNumber($magePayment->getCcNumber())->setExpireMonth($magePayment->getCcExpMonth())->setExpireYear(substr($magePayment->getCcExpYear(), 2))->setCvv2($magePayment->getCcCid()); }
/** * Updates Payment transaction by Callback data * * @param PaymentTransaction $paymentTransaction Payment transaction for updating * @param CallbackResponse $response Callback for payment transaction updating */ protected function updatePaymentTransaction(PaymentTransaction $paymentTransaction, CallbackResponse $callbackResponse) { $paymentTransaction->setStatus($callbackResponse->getStatus()); $paymentTransaction->getPayment()->setPaynetId($callbackResponse->getPaymentPaynetId()); if ($callbackResponse->isError() || $callbackResponse->isDeclined()) { $paymentTransaction->addError($callbackResponse->getError()); } }
/** * {@inheritdoc} */ protected function updatePaymentTransactionOnSuccess(PaymentTransaction $paymentTransaction, Response $response) { $paymentTransaction->getPayment()->getRecurrentCardFrom()->setCardPrintedName($response['card-printed-name'])->setExpireYear($response['expire-year'])->setExpireMonth($response['expire-month'])->setBin($response['bin'])->setLastFourDigits($response['last-four-digits']); }
/** * Set PaynetEasy payment id to payment transaction Payment * * @param PaymentTransaction $paymentTransaction Payment transaction * @param Response $response Query response */ protected function setPaynetId(PaymentTransaction $paymentTransaction, Response $response) { $responsePaynetId = $response->getPaymentPaynetId(); if (strlen($responsePaynetId) > 0) { $paymentTransaction->getPayment()->setPaynetId($responsePaynetId); } }
/** * Updates joomla address by PaynetEasy order data * * @param stdClass $joomlaAddress Joomla address * @param PaymentTransaction $paymentTransaction PaynetEasy payment transaction */ protected function updateAddress(stdClass $joomlaAddress, PaymentTransaction $paymentTransaction) { $payment = $paymentTransaction->getPayment(); $joomlaAddress->paynet_order_id = $payment->getPaynetId(); $joomlaAddress->transaction_status = $paymentTransaction->getStatus(); $joomlaAddress->payment_status = $payment->getStatus(); }