Example #1
0
 public function getGwapPaymentData($payment)
 {
     $data = new Varien_Object();
     if ($payment->getCcType()) {
         $data->setCcType($payment->getCcType());
     }
     if ($payment->getCcOwner()) {
         $data->setCcOwner($payment->getCcOwner());
     }
     if ($payment->getCcLast4()) {
         $data->setCcLast4($payment->getCcLast4());
     }
     if (Mage::getModel('core/session')->getGwapCcCcNumber()) {
         $data->setCcNumber(Mage::getModel('core/session')->getGwapCcCcNumber());
     }
     if (Mage::getModel('core/session')->getGwapCcId()) {
         $data->setCcCid(Mage::getModel('core/session')->getGwapCcId());
     }
     if ($payment->getCcParcelas()) {
         $data->setCcParcelas($payment->getCcParcelas());
     }
     if ($payment->getCcExpMonth()) {
         $data->setCcExpMonth($payment->getCcExpMonth());
     }
     if ($payment->getCcExpYear()) {
         $data->setCcExpYear($payment->getCcExpYear());
     }
     if ($payment->getAdditionalInformation('GwapBoletoType')) {
         $data->setGwapBoletoType($payment->getAdditionalInformation('GwapBoletoType'));
     }
     if ($payment->getAdditionalInformation('GwapCheckOneclick')) {
         $data->setGwapCcCheckOneclick($payment->getAdditionalInformation('GwapCheckOneclick'));
     }
     if ($payment->getAdditionalInformation('GwapOneclickSelected')) {
         $data->setGwapOneclickSelected($payment->getAdditionalInformation('GwapOneclickSelected'));
     }
     if ($payment->getAdditionalInformation('GwapSessionId')) {
         $data->setGwapSessionId($payment->getAdditionalInformation('GwapSessionId'));
     }
     Mage::getModel('core/session')->setGwapCcId();
     Mage::getModel('core/session')->setGwapCcCcNumber();
     if ($payment->getMethod() == 'gwap_2cc') {
         $data->setCcAmount($payment->getAdditionalInformation('gwapCcAmount'));
         $data->setCcType2($payment->getAdditionalInformation('gwapCcType2'));
         $data->setCcOwner2($payment->getAdditionalInformation('gwapCcOwner2'));
         $data->setCcLast4_2($payment->getAdditionalInformation('gwapCcLast4_2'));
         $data->setCcNumber2($payment->getAdditionalInformation('gwapCcNumber2'));
         $data->setCcParcelas2($payment->getAdditionalInformation('gwapCcParcelas2'));
         $data->setCcCid2($payment->getAdditionalInformation('gwapCcCid2'));
         $data->setCcExpMonth2($payment->getAdditionalInformation('gwapCcExpMonth2'));
         $data->setCcExpYear2($payment->getAdditionalInformation('gwapCcExpYear2'));
         $payment->setAdditionalInformation('gwapCcNumber2', '');
         $payment->setAdditionalInformation('gwapCcCid2', '');
     }
     if ($payment->getMethod() == 'gwap_oneclick') {
         $data->setCcType($payment->getAdditionalInformation('oneclickType'));
     }
     return $data;
 }
 /**
  * Refund the amount
  * Need to decode Last 4 digits for request.
  *
  * @param Varien_Object $payment
  * @param decimal $amount
  * @return Mage_Authorizenet_Model_Directpost
  * @throws Mage_Core_Exception
  */
 public function refund(Varien_Object $payment, $amount)
 {
     $last4 = $payment->getCcLast4();
     $payment->setCcLast4($payment->decrypt($last4));
     try {
         $this->_refund($payment, $amount);
     } catch (Exception $e) {
         $payment->setCcLast4($last4);
         throw $e;
     }
     $payment->setCcLast4($last4);
     return $this;
 }
Example #3
0
 /**
  * Updates customer account information with most current from Litle.
  *
  * @param Varien_Object $payment
  * @param DOMDocument $litleResponse
  */
 public function accountUpdater(Varien_Object $payment, $litleResponse)
 {
     if ($this->getUpdater($litleResponse, 'newCardInfo') !== null) {
         $payment->setCcLast4(substr($this->getUpdater($litleResponse, 'newCardInfo', 'number'), -4));
         $payment->setCcType($this->getUpdater($litleResponse, 'newCardInfo', 'type'));
         $payment->setCcExpDate($this->getUpdater($litleResponse, 'newCardInfo', 'expDate'));
     } elseif ($this->getUpdater($litleResponse, 'newCardTokenInfo') !== null) {
         $payment->setCcNumber($this->getUpdater($litleResponse, 'newCardTokenInfo', 'litleToken'));
         $payment->setCcLast4(substr($this->getUpdater($litleResponse, 'newCardTokenInfo', 'litleToken'), -4));
         $payment->setCcType($this->getUpdater($litleResponse, 'newCardTokenInfo', 'type'));
         $payment->setCcExpDate($this->getUpdater($litleResponse, 'newCardTokenInfo', 'expDate'));
     }
 }
 /**
  * Processes successful authorize/clone result
  *
  * @param Varien_Object $payment
  * @param Braintree_Result_Successful $result
  * @param float $amount
  * @return Varien_Object
  */
 protected function _processSuccessResult(Varien_Object $payment, $result, $amount)
 {
     // Pass an event if the payment was a success
     Mage::dispatchEvent('gene_braintree_creditcard_success', array('payment' => $payment, 'result' => $result, 'amount' => $amount));
     // Set some basic information about the payment
     $payment->setStatus(self::STATUS_APPROVED)->setCcTransId($result->transaction->id)->setLastTransId($result->transaction->id)->setTransactionId($result->transaction->id)->setIsTransactionClosed(0)->setAmount($amount)->setShouldCloseParentTransaction(false);
     // Set information about the card
     $payment->setCcLast4($result->transaction->creditCardDetails->last4)->setCcType($result->transaction->creditCardDetails->cardType)->setCcExpMonth($result->transaction->creditCardDetails->expirationMonth)->setCcExpYear($result->transaction->creditCardDetails->expirationYear);
     // Additional information to store
     $additionalInfo = array();
     // The fields within the transaction to log
     $storeFields = array('avsErrorResponseCode', 'avsPostalCodeResponseCode', 'avsStreetAddressResponseCode', 'cvvResponseCode', 'gatewayRejectionReason', 'processorAuthorizationCode', 'processorResponseCode', 'processorResponseText', 'threeDSecure');
     // Handle any fraud response from Braintree
     $this->handleFraud($result, $payment);
     // If 3D secure is enabled, presume it's passed
     if ($this->is3DEnabled()) {
         $additionalInfo['threeDSecure'] = Mage::helper('gene_braintree')->__('Passed');
     }
     // Iterate through and pull out any data we want
     foreach ($storeFields as $storeField) {
         if (!empty($result->transaction->{$storeField})) {
             $additionalInfo[$storeField] = $result->transaction->{$storeField};
         }
     }
     // Check it's not empty and store it
     if (!empty($additionalInfo)) {
         $payment->setAdditionalInformation($additionalInfo);
     }
     if (isset($result->transaction->creditCard['token']) && $result->transaction->creditCard['token']) {
         $payment->setAdditionalInformation('token', $result->transaction->creditCard['token']);
     }
     return $payment;
 }