Example #1
0
 /**
  * Call DoAuthorize
  *
  * @param int $amount
  * @param \Magento\Framework\DataObject $payment
  * @param string $parentTransactionId
  * @return \Magento\Paypal\Model\Api\AbstractApi
  */
 protected function _callDoAuthorize($amount, $payment, $parentTransactionId)
 {
     $apiData = $this->_pro->getApi()->getData();
     foreach ($apiData as $k => $v) {
         if (is_object($v)) {
             unset($apiData[$k]);
         }
     }
     $this->_checkoutSession->setPaypalTransactionData($apiData);
     $this->_pro->resetApi();
     $api = $this->_setApiProcessableErrors()->setAmount($amount)->setCurrencyCode($payment->getOrder()->getBaseCurrencyCode())->setTransactionId($parentTransactionId)->callDoAuthorization();
     $payment->setAdditionalInformation($this->_authorizationCountKey, $payment->getAdditionalInformation($this->_authorizationCountKey) + 1);
     return $api;
 }
 public function postProcessing(\Magento\Sales\Model\Order $order, \Magento\Framework\DataObject $payment, $response)
 {
     // Update payment details
     $payment->setTransactionId($response['invoice_id']);
     $payment->setIsTransactionClosed(0);
     $payment->setTransactionAdditionalInfo('tco_order_number', $response['order_number']);
     $payment->setAdditionalInformation('tco_order_number', $response['order_number']);
     $payment->setAdditionalInformation('tco_order_status', 'approved');
     $payment->place();
     // Update order status
     $order->setStatus($this->getOrderStatus());
     $order->setExtOrderId($response['order_number']);
     $order->save();
     // Send email confirmation
     $this->orderSender->send($order);
 }