12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Braintree\Controller\Adminhtml\Payment;
- use Magento\Backend\App\Action;
- use Magento\Backend\App\Action\Context;
- use Magento\Backend\Model\Session\Quote;
- use Magento\Braintree\Gateway\Config\Config;
- use Magento\Braintree\Gateway\Request\PaymentDataBuilder;
- use Magento\Braintree\Model\Adapter\BraintreeAdapterFactory;
- use Magento\Framework\Controller\ResultFactory;
- /**
- * Retrieves client token.
- */
- class GetClientToken extends Action
- {
- const ADMIN_RESOURCE = 'Magento_Braintree::get_client_token';
- /**
- * @var Config
- */
- private $config;
- /**
- * @var BraintreeAdapterFactory
- */
- private $adapterFactory;
- /**
- * @var Quote
- */
- private $quoteSession;
- /**
- * @param Context $context
- * @param Config $config
- * @param BraintreeAdapterFactory $adapterFactory
- * @param Quote $quoteSession
- */
- public function __construct(
- Context $context,
- Config $config,
- BraintreeAdapterFactory $adapterFactory,
- Quote $quoteSession
- ) {
- parent::__construct($context);
- $this->config = $config;
- $this->adapterFactory = $adapterFactory;
- $this->quoteSession = $quoteSession;
- }
- /**
- * @inheritdoc
- */
- public function execute()
- {
- $params = [];
- $response = $this->resultFactory->create(ResultFactory::TYPE_JSON);
- $storeId = $this->quoteSession->getStoreId();
- $merchantAccountId = $this->config->getMerchantAccountId($storeId);
- if (!empty($merchantAccountId)) {
- $params[PaymentDataBuilder::MERCHANT_ACCOUNT_ID] = $merchantAccountId;
- }
- $clientToken = $this->adapterFactory->create($storeId)
- ->generate($params);
- $response->setData(['clientToken' => $clientToken]);
- return $response;
- }
- }
|