Example #1
0
 /**
  * Instantiate state and set it to state object
  *
  * @param string $paymentAction
  * @param \Magento\Framework\DataObject $stateObject
  * @return void
  */
 public function initialize($paymentAction, $stateObject)
 {
     switch ($paymentAction) {
         case \Magento\Paypal\Model\Config::PAYMENT_ACTION_AUTH:
         case \Magento\Paypal\Model\Config::PAYMENT_ACTION_SALE:
             $payment = $this->getInfoInstance();
             $order = $payment->getOrder();
             $order->setCanSendNewEmailFlag(false);
             $payment->setAmountAuthorized($order->getTotalDue());
             $payment->setBaseAmountAuthorized($order->getBaseTotalDue());
             $this->_generateSecureSilentPostHash($payment);
             $request = $this->_buildTokenRequest($payment);
             $response = $this->postRequest($request, $this->getConfig());
             $this->_processTokenErrors($response, $payment);
             $order = $payment->getOrder();
             $order->setCanSendNewEmailFlag(false);
             $stateObject->setState(\Magento\Sales\Model\Order::STATE_PENDING_PAYMENT);
             $stateObject->setStatus('pending_payment');
             $stateObject->setIsNotified(false);
             break;
         default:
             break;
     }
 }
Example #2
0
 /**
  * Processes successful authorize/clone result
  *
  * @param \Magento\Framework\DataObject $payment
  * @param \Braintree_Result_Successful $result
  * @param float $amount
  * @return \Magento\Framework\DataObject
  */
 protected function processSuccessResult(\Magento\Framework\DataObject $payment, \Braintree_Result_Successful $result, $amount)
 {
     $additionalInformation = $this->getExtraTransactionInformation($result->transaction);
     $payment->setStatus(self::STATUS_APPROVED)->setCcTransId($result->transaction->id)->setLastTransId($result->transaction->id)->setTransactionId($result->transaction->id)->setIsTransactionClosed(false)->setAdditionalInformation($additionalInformation)->setAmount($amount)->setShouldCloseParentTransaction(false);
     return $payment;
 }
Example #3
0
 /**
  * Instantiate state and set it to state object
  *
  * @param string $paymentAction
  * @param \Magento\Framework\DataObject $stateObject
  * @return void
  */
 public function initialize($paymentAction, $stateObject)
 {
     switch ($paymentAction) {
         case \Magento\Paypal\Model\Config::PAYMENT_ACTION_AUTH:
         case \Magento\Paypal\Model\Config::PAYMENT_ACTION_SALE:
             $payment = $this->getInfoInstance();
             $order = $payment->getOrder();
             $order->setCanSendNewEmailFlag(false);
             $payment->setAmountAuthorized($order->getTotalDue());
             $payment->setBaseAmountAuthorized($order->getBaseTotalDue());
             $this->_setPaymentFormUrl($payment);
             $stateObject->setState(\Magento\Sales\Model\Order::STATE_PENDING_PAYMENT);
             $stateObject->setStatus('pending_payment');
             $stateObject->setIsNotified(false);
             break;
         default:
             break;
     }
 }
 /**
  * Processes successful authorize/clone result
  *
  * @param \Magento\Framework\DataObject $payment
  * @param \Braintree_Result_Successful $result
  * @param string $amount
  * @return \Magento\Framework\DataObject
  */
 protected function processSuccessResult(\Magento\Framework\DataObject $payment, \Braintree_Result_Successful $result, $amount)
 {
     /** @var \Magento\Sales\Model\Order\Payment $payment */
     $payment->setStatus(self::STATUS_APPROVED)->setCcTransId($result->transaction->id)->setLastTransId($result->transaction->id)->setTransactionId($result->transaction->id)->setIsTransactionClosed(false)->setCcLast4($result->transaction->creditCardDetails->last4)->setAdditionalInformation($this->getExtraTransactionInformation($result->transaction))->setAmount($amount)->setShouldCloseParentTransaction(false);
     if ($this->isFinalCapture($payment->getParentId(), $amount)) {
         $payment->setShouldCloseParentTransaction(true);
     }
     if (isset($result->transaction->creditCard['token']) && $result->transaction->creditCard['token']) {
         $payment->setTransactionAdditionalInfo('token', $result->transaction->creditCard['token']);
     }
     return $payment;
 }