![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-paypal/Model/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Paypal\Model; use Magento\Checkout\Model\ConfigProviderInterface; use Magento\Paypal\Model\Billing\AgreementFactory; use Magento\Customer\Helper\Session\CurrentCustomer; use Magento\Paypal\Model\Payment\Method\Billing\AbstractAgreement; /** * Class BillingAgreementConfigProvider */ class BillingAgreementConfigProvider implements ConfigProviderInterface { /** * @var CurrentCustomer */ protected $currentCustomer; /** * @var AgreementFactory */ protected $agreementFactory; /** * @param CurrentCustomer $currentCustomer * @param AgreementFactory $agreementFactory */ public function __construct( CurrentCustomer $currentCustomer, AgreementFactory $agreementFactory ) { $this->currentCustomer = $currentCustomer; $this->agreementFactory = $agreementFactory; } /** * {@inheritdoc} */ public function getConfig() { $config = [ 'payment' => [ 'paypalBillingAgreement' => [ 'agreements' => $this->getBillingAgreements(), 'transportName' => AbstractAgreement::TRANSPORT_BILLING_AGREEMENT_ID ] ] ]; return $config; } /** * Retrieve available customer billing agreements * * @return array */ protected function getBillingAgreements() { $customerId = $this->currentCustomer->getCustomerId(); $data = []; if (!$customerId) { return $data; } $collection = $this->agreementFactory->create()->getAvailableCustomerBillingAgreements( $customerId ); foreach ($collection as $item) { $data[] = ['id' => $item->getId(), 'referenceId' => $item->getReferenceId()]; } return $data; } }