* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0 */ namespace PrestaShop\Module\PrestashopCheckout\Validator; use PrestaShop\Module\PrestashopCheckout\Context\PrestaShopContext; use PrestaShop\Module\PrestashopCheckout\PayPal\PayPalConfiguration; use PrestaShop\Module\PrestashopCheckout\Repository\PsAccountRepository; class MerchantValidator { /** * @var PayPalConfiguration */ private $configuration; /** * @var PsAccountRepository */ private $psAccountRepository; /** * @var PrestaShopContext */ private $prestaShopContext; public function __construct( PayPalConfiguration $configuration, PsAccountRepository $psAccountRepository, PrestaShopContext $prestaShopContext ) { $this->configuration = $configuration; $this->psAccountRepository = $psAccountRepository; $this->prestaShopContext = $prestaShopContext; } public function merchantIsValid() { return $this->configuration->getMerchantId() && $this->configuration->isMerchantEmailConfirmed() && $this->configuration->isPayPalPaymentsReceivable() && $this->psAccountRepository->onBoardingIsCompleted(); } }