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