1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Braintree\Model\Ui\PayPal;
use Magento\Braintree\Gateway\Config\PayPal\Config;
use Magento\Checkout\Model\ConfigProviderInterface;
use Magento\Framework\Locale\ResolverInterface;
/**
* Class ConfigProvider
*/
class ConfigProvider implements ConfigProviderInterface
{
const PAYPAL_CODE = 'braintree_paypal';
const PAYPAL_VAULT_CODE = 'braintree_paypal_vault';
/**
* @var Config
*/
private $config;
/**
* @var ResolverInterface
*/
private $resolver;
/**
* Initialize dependencies.
*
* @param Config $config
* @param ResolverInterface $resolver
*/
public function __construct(Config $config, ResolverInterface $resolver)
{
$this->config = $config;
$this->resolver = $resolver;
}
/**
* Retrieve assoc array of checkout configuration
*
* @return array
*/
public function getConfig()
{
$requireBillingAddressAll = \Magento\Paypal\Model\Config::REQUIRE_BILLING_ADDRESS_ALL;
return [
'payment' => [
self::PAYPAL_CODE => [
'isActive' => $this->config->isActive(),
'title' => $this->config->getTitle(),
'isAllowShippingAddressOverride' => $this->config->isAllowToEditShippingAddress(),
'merchantName' => $this->config->getMerchantName(),
'locale' => $this->resolver->getLocale(),
'paymentAcceptanceMarkSrc' =>
'https://www.paypalobjects.com/webstatic/en_US/i/buttons/pp-acceptance-medium.png',
'vaultCode' => self::PAYPAL_VAULT_CODE,
'skipOrderReview' => $this->config->isSkipOrderReview(),
'paymentIcon' => $this->config->getPayPalIcon(),
'isRequiredBillingAddress' =>
(int)$this->config->isRequiredBillingAddress() === $requireBillingAddressAll
]
]
];
}
}