VaultTokenRenderer.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Braintree\Block\Customer\PayPal;
  7. use Magento\Braintree\Gateway\Config\PayPal\Config;
  8. use Magento\Braintree\Model\Ui\PayPal\ConfigProvider;
  9. use Magento\Framework\View\Element\Template;
  10. use Magento\Vault\Api\Data\PaymentTokenInterface;
  11. use Magento\Vault\Block\AbstractTokenRenderer;
  12. /**
  13. * Class VaultTokenRenderer
  14. *
  15. * @api
  16. * @since 100.1.3
  17. */
  18. class VaultTokenRenderer extends AbstractTokenRenderer
  19. {
  20. /**
  21. * @var Config
  22. */
  23. private $config;
  24. /**
  25. * Initialize dependencies.
  26. *
  27. * @param Template\Context $context
  28. * @param Config $config
  29. * @param array $data
  30. */
  31. public function __construct(
  32. Template\Context $context,
  33. Config $config,
  34. array $data = []
  35. ) {
  36. parent::__construct($context, $data);
  37. $this->config = $config;
  38. }
  39. /**
  40. * @inheritdoc
  41. * @since 100.1.3
  42. */
  43. public function getIconUrl()
  44. {
  45. return $this->config->getPayPalIcon()['url'];
  46. }
  47. /**
  48. * @inheritdoc
  49. * @since 100.1.3
  50. */
  51. public function getIconHeight()
  52. {
  53. return $this->config->getPayPalIcon()['height'];
  54. }
  55. /**
  56. * @inheritdoc
  57. * @since 100.1.3
  58. */
  59. public function getIconWidth()
  60. {
  61. return $this->config->getPayPalIcon()['width'];
  62. }
  63. /**
  64. * Can render specified token
  65. *
  66. * @param PaymentTokenInterface $token
  67. * @return boolean
  68. * @since 100.1.3
  69. */
  70. public function canRender(PaymentTokenInterface $token)
  71. {
  72. return $token->getPaymentMethodCode() === ConfigProvider::PAYPAL_CODE;
  73. }
  74. /**
  75. * Get email of PayPal payer
  76. * @return string
  77. * @since 100.1.3
  78. */
  79. public function getPayerEmail()
  80. {
  81. return $this->getTokenDetails()['payerEmail'];
  82. }
  83. }