Ejemplo n.º 1
0
 public function testGetInstructionsSetInformation()
 {
     $this->assertNull($this->_instructions->getInstructions());
     $testInstruction = 'second test';
     $this->_info->setAdditionalInformation('instructions', $testInstruction);
     $this->assertEquals($testInstruction, $this->_instructions->getInstructions());
 }
 /**
  * verify
  * - payment will be made into a payload using the pan
  */
 public function testAddPaymentsToPayloadUsePan()
 {
     $processedPayments = new SplObjectStorage();
     $this->_paymentStub->setAdditionalInformation('pan', 'pan');
     $this->_stubPayload(['setAccountUniqueId']);
     $this->_payloadStub->expects($this->once())->method('setAccountUniqueId')->with($this->identicalTo('pan'))->will($this->returnSelf());
     $handler = Mage::getModel('ebayenterprise_creditcard/order_create_payment');
     $handler->addPaymentsToPayload($this->_orderStub, $this->_paymentContainer, $processedPayments);
 }
 public function testGetTokenInfo()
 {
     $payment = new Varien_Object();
     $payment->setCcCid('789');
     $vaultCard = new Varien_Object();
     $vaultCard->setCcType('VI');
     $vaultCard->setLast4('1234');
     $vaultCard->setType('VI');
     $vaultCard->setExpirationMonth('12');
     $vaultCard->setExpirationYear('2050');
     $vaultCard->setToken('1111222233331234');
     $litle = new Litle_CreditCard_Model_PaymentLogic();
     $modelPalorusVault = $this->getMock('Litle_Palorus_Model_Vault');
     $modelPalorusVault->expects($this->any())->method('load')->with($this->equalTo(50))->will($this->returnValue($vaultCard));
     $litle->setModelPalorusVault($modelPalorusVault);
     $info = new Mage_Payment_Model_Info();
     $info->setAdditionalInformation('cc_vaulted', 50);
     $arr = array('info_instance' => $info);
     $litle->addData($arr);
     $tokenInfo = $litle->getTokenInfo($payment);
     $this->assertEquals('1234', $payment->getCcLast4());
     $this->assertEquals('VI', $payment->getCcType());
     $this->assertEquals('789', $tokenInfo['cardValidationNum']);
     $this->assertEquals('VI', $tokenInfo['type']);
     $this->assertEquals('1111222233331234', $tokenInfo['litleToken']);
     $this->assertEquals('1250', $tokenInfo['expDate']);
 }
Ejemplo n.º 4
0
 /**
  * Cancel partial authorizations and flush current split_tender_id record
  *
  * @param Mage_Payment_Model_Info $payment
  */
 public function cancelPartialAuthorization(Mage_Payment_Model_Info $payment)
 {
     if (!$payment->getAdditionalInformation($this->_splitTenderIdKey)) {
         Mage::throwException(Mage::helper('paygate')->__('Invalid split tenderId ID.'));
     }
     $request = $this->_getRequest();
     $request->setXSplitTenderId($payment->getAdditionalInformation($this->_splitTenderIdKey));
     $request->setXType(self::REQUEST_TYPE_VOID)->setXMethod(self::REQUEST_METHOD_CC);
     $result = $this->_postRequest($request);
     switch ($result->getResponseCode()) {
         case self::RESPONSE_CODE_APPROVED:
             $payment->setAdditionalInformation($this->_splitTenderIdKey, null);
             $this->_getSession()->setData($this->_partialAuthorizationChecksumSessionKey, null);
             $this->getCardsStorage($payment)->flushCards();
             $this->setPartialAuthorizationLastActionState(self::PARTIAL_AUTH_ALL_CANCELED);
             return;
         default:
             Mage::throwException(Mage::helper('paygate')->__('Payment canceling error.'));
     }
 }
Ejemplo n.º 5
0
 /**
  * saves the alias and if given the cvc to the payment information
  *
  * @param Mage_Payment_Model_Info $payment - the payment which should be updated
  * @param array                   $aliasData - the data we will update
  * @param boolean                 $userIsRegistering - is registering method in checkout
  * @param boolean                 $paymentSave - is it necessary to save the payment afterwards
  */
 public function setAliasToPayment(Mage_Payment_Model_Info $payment, array $aliasData, $userIsRegistering = false, $paymentSave = false)
 {
     if (array_key_exists('alias', $aliasData) && 0 < strlen(trim($aliasData['alias']))) {
         $payment->setAdditionalInformation('alias', trim($aliasData['alias']));
         $payment->setAdditionalInformation('userIsRegistering', $userIsRegistering);
         if (array_key_exists('CVC', $aliasData)) {
             $payment->setAdditionalInformation('cvc', $aliasData['CVC']);
             $this->setCardHolderToAlias($payment->getQuote(), $aliasData);
         }
         $payment->setDataChanges(true);
         if ($paymentSave === true) {
             $payment->save();
         }
     } else {
         Mage::helper('ops/data')->log('did not save alias due to empty alias');
         Mage::helper('ops/data')->log($aliasData);
     }
 }
Ejemplo n.º 6
0
 /**
  * Remove all cards from payment instance
  *
  * @return Mage_Paygate_Model_Authorizenet_Cart
  */
 public function flushCards()
 {
     $this->_cards = array();
     $this->_payment->setAdditionalInformation(self::CARDS_NAMESPACE, null);
     return $this;
 }
 /**
  * Fetch transaction details info
  *
  * @param Mage_Payment_Model_Info $payment
  * @param string $transactionId
  * @return array
  */
 public function fetchTransactionInfo(Mage_Payment_Model_Info $payment, $transactionId)
 {
     /** @var Mage_Sales_Model_Order_Payment_Transaction $transaction */
     $transaction = Mage::getModel('sales/order_payment_transaction')->load($transactionId, 'txn_id');
     $checkout_transaction = $transaction->getOrder()->getPayment()->lookupTransaction(null, Mage_Sales_Model_Order_Payment_Transaction::TYPE_ORDER);
     $reconcile = $this->reconcile($checkout_transaction->getTxnId());
     // Get the current details
     $transaction_details = $payment->getAdditionalInformation(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS);
     // Try to extract transaction details from the Gateway response
     if ($reconcile->unique_id == $transactionId) {
         $transaction_details = $reconcile;
     } else {
         if ($reconcile->payment_transaction instanceof stdClass) {
             if ($reconcile->payment_transaction->unique_id == $transactionId) {
                 $transaction_details = $reconcile->payment_transaction;
             }
         }
         if ($reconcile->payment_transaction instanceof ArrayObject) {
             foreach ($reconcile->payment_transaction as $payment_transaction) {
                 if ($payment_transaction->unique_id == $transactionId) {
                     $transaction_details = $payment_transaction;
                 }
             }
         }
     }
     // Remove the current details
     $payment->unsAdditionalInformation(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS);
     // Set the default/updated transaction details
     $payment->setAdditionalInformation(array(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS => $this->getHelper()->getArrayFromGatewayResponse($transaction_details)), null);
     $payment->save();
     return $payment->getAdditionalInformation(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS);
 }
 /**
  * Fetch transaction details info
  *
  * @param Mage_Payment_Model_Info $payment
  * @param string $transactionId
  *
  * @return array
  */
 public function fetchTransactionInfo(Mage_Payment_Model_Info $payment, $transactionId)
 {
     $reconcile = $this->reconcile($transactionId);
     // Remove the current details
     $payment->unsAdditionalInformation(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS);
     // Set the default/updated transaction details
     $payment->setAdditionalInformation(array(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS => $this->getHelper()->getArrayFromGatewayResponse($reconcile)), null);
     $payment->save();
     return $payment->getAdditionalInformation(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS);
 }