Info.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Paypal\Block\Payment;
  7. /**
  8. * PayPal common payment info block
  9. * Uses default templates
  10. */
  11. class Info extends \Magento\Payment\Block\Info\Cc
  12. {
  13. /**
  14. * @var \Magento\Paypal\Model\InfoFactory
  15. */
  16. protected $_paypalInfoFactory;
  17. /**
  18. * @param \Magento\Framework\View\Element\Template\Context $context
  19. * @param \Magento\Payment\Model\Config $paymentConfig
  20. * @param \Magento\Paypal\Model\InfoFactory $paypalInfoFactory
  21. * @param array $data
  22. */
  23. public function __construct(
  24. \Magento\Framework\View\Element\Template\Context $context,
  25. \Magento\Payment\Model\Config $paymentConfig,
  26. \Magento\Paypal\Model\InfoFactory $paypalInfoFactory,
  27. array $data = []
  28. ) {
  29. $this->_paypalInfoFactory = $paypalInfoFactory;
  30. parent::__construct($context, $paymentConfig, $data);
  31. }
  32. /**
  33. * Don't show CC type for non-CC methods
  34. *
  35. * @return string|null
  36. */
  37. public function getCcTypeName()
  38. {
  39. if (\Magento\Paypal\Model\Config::getIsCreditCardMethod($this->getInfo()->getMethod())) {
  40. return parent::getCcTypeName();
  41. }
  42. }
  43. /**
  44. * Prepare PayPal-specific payment information
  45. *
  46. * @param \Magento\Framework\DataObject|array|null $transport
  47. * @return \Magento\Framework\DataObject
  48. */
  49. protected function _prepareSpecificInformation($transport = null)
  50. {
  51. $transport = parent::_prepareSpecificInformation($transport);
  52. $payment = $this->getInfo();
  53. $paypalInfo = $this->_paypalInfoFactory->create();
  54. if ($this->getIsSecureMode()) {
  55. $info = $paypalInfo->getPublicPaymentInfo($payment, true);
  56. } else {
  57. $info = $paypalInfo->getPaymentInfo($payment, true);
  58. }
  59. return $transport->addData($info);
  60. }
  61. }