Your IP : 216.73.216.97


Current Path : /var/www/clients/client3/web2/web/vendor/magento/module-vault/Model/
Upload File :
Current File : /var/www/clients/client3/web2/web/vendor/magento/module-vault/Model/CustomerTokenManagement.php

<?php
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
namespace Magento\Vault\Model;

use Magento\Customer\Model\Session;
use Magento\Vault\Api\Data\PaymentTokenInterface;

class CustomerTokenManagement
{
    /**
     * @var PaymentTokenManagement
     */
    private $tokenManagement;

    /**
     * @var Session
     */
    private $session;

    /**
     * CustomerTokenManagement constructor.
     * @param PaymentTokenManagement $tokenManagement
     * @param Session $session
     */
    public function __construct(
        PaymentTokenManagement $tokenManagement,
        Session $session
    ) {
        $this->tokenManagement = $tokenManagement;
        $this->session = $session;
    }

    /**
     * Returns list of payment tokens for current customer session
     *
     * @return PaymentTokenInterface[]
     */
    public function getCustomerSessionTokens()
    {
        $customerId = $this->session->getCustomerId();
        if (!$customerId || $this->session->isLoggedIn() === false) {
            return [];
        }

        return $this->tokenManagement->getVisibleAvailableTokens($customerId);
    }
}