Spamworldpro Mini Shell
Spamworldpro


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-quote-graph-ql/Model/Cart/Payment/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/vendor/magento/module-quote-graph-ql/Model/Cart/Payment/PaymentMethodBuilder.php
<?php
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
declare(strict_types=1);

namespace Magento\QuoteGraphQl\Model\Cart\Payment;

use Magento\Framework\GraphQl\Exception\GraphQlInputException;
use Magento\Quote\Api\Data\PaymentInterface;
use Magento\Quote\Api\Data\PaymentInterfaceFactory;

/**
 * Build payment method objects
 */
class PaymentMethodBuilder
{
    /**
     * @var PaymentInterfaceFactory
     */
    private $paymentFactory;

    /**
     * @var AdditionalDataProviderPool
     */
    private $paymentDataProvider;

    /**
     * @param PaymentInterfaceFactory $paymentFactory
     * @param AdditionalDataProviderPool $paymentDataProvider
     */
    public function __construct(
        PaymentInterfaceFactory $paymentFactory,
        AdditionalDataProviderPool $paymentDataProvider
    ) {
        $this->paymentFactory = $paymentFactory;
        $this->paymentDataProvider = $paymentDataProvider;
    }

    /**
     * Build a PaymentInterface object from the supplied data array
     *
     * @param array $paymentData
     * @return PaymentInterface
     * @throws GraphQlInputException
     */
    public function build(array $paymentData): PaymentInterface
    {
        if (!isset($paymentData['code']) || empty($paymentData['code'])) {
            throw new GraphQlInputException(__('Required parameter "code" for "payment_method" is missing.'));
        }
        $paymentMethodCode = $paymentData['code'];

        $poNumber = $paymentData['purchase_order_number'] ?? null;
        $additionalData = $this->paymentDataProvider->getData($paymentMethodCode, $paymentData);

        return $this->paymentFactory->create(
            [
                'data' => [
                    PaymentInterface::KEY_METHOD => $paymentMethodCode,
                    PaymentInterface::KEY_PO_NUMBER => $poNumber,
                    PaymentInterface::KEY_ADDITIONAL_DATA => $additionalData,
                ],
            ]
        );
    }
}

Spamworldpro Mini