Iframe.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Paypal\Block\Payflow\Link;
  7. /**
  8. * Payflow link iframe block
  9. *
  10. * @api
  11. * @since 100.0.2
  12. */
  13. class Iframe extends \Magento\Paypal\Block\Iframe
  14. {
  15. /**
  16. * Payment data
  17. *
  18. * @var \Magento\Payment\Helper\Data
  19. */
  20. protected $_paymentData = null;
  21. /**
  22. * @param \Magento\Framework\View\Element\Template\Context $context
  23. * @param \Magento\Sales\Model\OrderFactory $orderFactory
  24. * @param \Magento\Checkout\Model\Session $checkoutSession
  25. * @param \Magento\Paypal\Helper\Hss $hssHelper
  26. * @param \Magento\Framework\Filesystem\Directory\ReadFactory $readFactory
  27. * @param \Magento\Framework\Module\Dir\Reader $reader
  28. * @param \Magento\Payment\Helper\Data $paymentData
  29. * @param array $data
  30. */
  31. public function __construct(
  32. \Magento\Framework\View\Element\Template\Context $context,
  33. \Magento\Sales\Model\OrderFactory $orderFactory,
  34. \Magento\Checkout\Model\Session $checkoutSession,
  35. \Magento\Paypal\Helper\Hss $hssHelper,
  36. \Magento\Framework\Filesystem\Directory\ReadFactory $readFactory,
  37. \Magento\Framework\Module\Dir\Reader $reader,
  38. \Magento\Payment\Helper\Data $paymentData,
  39. array $data = []
  40. ) {
  41. $this->_paymentData = $paymentData;
  42. parent::__construct($context, $orderFactory, $checkoutSession, $hssHelper, $readFactory, $reader, $data);
  43. }
  44. /**
  45. * Set payment method code
  46. *
  47. * @return void
  48. */
  49. protected function _construct()
  50. {
  51. parent::_construct();
  52. $this->_paymentMethodCode = \Magento\Paypal\Model\Config::METHOD_PAYFLOWLINK;
  53. }
  54. /**
  55. * Get frame action URL
  56. *
  57. * @return string
  58. */
  59. public function getFrameActionUrl()
  60. {
  61. return $this->getUrl('paypal/payflow/form', ['_secure' => true]);
  62. }
  63. /**
  64. * Get secure token
  65. *
  66. * @return string
  67. */
  68. public function getSecureToken()
  69. {
  70. return $this->_getOrder()->getPayment()->getAdditionalInformation('secure_token');
  71. }
  72. /**
  73. * Get secure token ID
  74. *
  75. * @return string
  76. */
  77. public function getSecureTokenId()
  78. {
  79. return $this->_getOrder()->getPayment()->getAdditionalInformation('secure_token_id');
  80. }
  81. /**
  82. * Get payflow transaction URL
  83. *
  84. * @return string
  85. */
  86. public function getTransactionUrl()
  87. {
  88. $cgiUrl = 'cgi_url';
  89. if ($this->isTestMode()) {
  90. $cgiUrl = 'cgi_url_test_mode';
  91. }
  92. return $this->_paymentData->getMethodInstance($this->_paymentMethodCode)->getConfigData($cgiUrl);
  93. }
  94. /**
  95. * Check sandbox mode
  96. *
  97. * @return bool
  98. */
  99. public function isTestMode()
  100. {
  101. $mode = $this->_paymentData->getMethodInstance($this->_paymentMethodCode)->getConfigData('sandbox_flag');
  102. return (bool)$mode;
  103. }
  104. }