![]() 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/cartforge.co/vendor/magento/module-quote/Model/Quote/Payment/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Quote\Model\Quote\Payment; use Magento\Quote\Model\Quote\Payment; use Magento\Sales\Api\OrderPaymentRepositoryInterface as OrderPaymentRepository; use Magento\Sales\Api\Data\OrderPaymentInterface; use Magento\Framework\DataObject\Copy; use Magento\Payment\Model\Method\Substitution; /** * Class ToOrderPayment */ class ToOrderPayment { /** * @var Copy */ protected $objectCopyService; /** * @var OrderPaymentRepository */ protected $orderPaymentRepository; /** * @var \Magento\Framework\Api\DataObjectHelper */ protected $dataObjectHelper; /** * @param OrderPaymentRepository $orderPaymentRepository * @param Copy $objectCopyService * @param \Magento\Framework\Api\DataObjectHelper $dataObjectHelper */ public function __construct( OrderPaymentRepository $orderPaymentRepository, Copy $objectCopyService, \Magento\Framework\Api\DataObjectHelper $dataObjectHelper ) { $this->orderPaymentRepository = $orderPaymentRepository; $this->objectCopyService = $objectCopyService; $this->dataObjectHelper = $dataObjectHelper; } /** * @param Payment $object * @param array $data * @return OrderPaymentInterface */ public function convert(Payment $object, $data = []) { $paymentData = $this->objectCopyService->getDataFromFieldset( 'quote_convert_payment', 'to_order_payment', $object ); $orderPayment = $this->orderPaymentRepository->create(); $this->dataObjectHelper->populateWithArray( $orderPayment, array_merge($paymentData, $data), \Magento\Sales\Api\Data\OrderPaymentInterface::class ); $orderPayment->setAdditionalInformation( array_merge( $object->getAdditionalInformation(), [Substitution::INFO_KEY_TITLE => $object->getMethodInstance()->getTitle()] ) ); // set directly on the model $orderPayment->setCcNumber($object->getCcNumber()); $orderPayment->setCcCid($object->getCcCid()); return $orderPayment; } }