HtmlTransactionIdObserver.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Paypal\Observer;
  7. use Magento\Framework\Event\ObserverInterface;
  8. use Magento\Framework\Event\Observer as EventObserver;
  9. /**
  10. * PayPal module observer
  11. */
  12. class HtmlTransactionIdObserver implements ObserverInterface
  13. {
  14. /**
  15. * @var \Magento\Paypal\Helper\Data
  16. */
  17. private $paypalData;
  18. /**
  19. * @param \Magento\Paypal\Helper\Data $paypalData
  20. */
  21. public function __construct(
  22. \Magento\Paypal\Helper\Data $paypalData
  23. ) {
  24. $this->paypalData = $paypalData;
  25. }
  26. /**
  27. * Update transaction with HTML representation of txn_id
  28. *
  29. * @param EventObserver $observer
  30. * @return void
  31. */
  32. public function execute(EventObserver $observer)
  33. {
  34. /** @var \Magento\Sales\Model\Order\Payment\Transaction $transaction */
  35. $transaction = $observer->getDataObject();
  36. $order = $transaction->getOrder();
  37. $payment = $order->getPayment();
  38. $methodInstance = $payment->getMethodInstance();
  39. $paymentCode = $methodInstance->getCode();
  40. $transactionLink = $this->paypalData->getHtmlTransactionId($paymentCode, $transaction->getTxnId());
  41. $transaction->setData('html_txn_id', $transactionLink);
  42. }
  43. }