CustomerTokenManagement.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Vault\Model;
  7. use Magento\Customer\Model\Session;
  8. use Magento\Vault\Api\Data\PaymentTokenInterface;
  9. class CustomerTokenManagement
  10. {
  11. /**
  12. * @var PaymentTokenManagement
  13. */
  14. private $tokenManagement;
  15. /**
  16. * @var Session
  17. */
  18. private $session;
  19. /**
  20. * CustomerTokenManagement constructor.
  21. * @param PaymentTokenManagement $tokenManagement
  22. * @param Session $session
  23. */
  24. public function __construct(
  25. PaymentTokenManagement $tokenManagement,
  26. Session $session
  27. ) {
  28. $this->tokenManagement = $tokenManagement;
  29. $this->session = $session;
  30. }
  31. /**
  32. * Returns list of payment tokens for current customer session
  33. *
  34. * @return PaymentTokenInterface[]
  35. */
  36. public function getCustomerSessionTokens()
  37. {
  38. $customerId = $this->session->getCustomerId();
  39. if (!$customerId || $this->session->isLoggedIn() === false) {
  40. return [];
  41. }
  42. return $this->tokenManagement->getVisibleAvailableTokens($customerId);
  43. }
  44. }