![]() 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-instant-purchase/Model/QuoteManagement/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\InstantPurchase\Model\QuoteManagement; use Magento\Framework\Exception\LocalizedException; use Magento\Quote\Api\CartManagementInterface; use Magento\Quote\Api\CartRepositoryInterface; use Magento\Quote\Model\Quote; /** * Purchase products from quote. * * @api May be used for pluginization. * @since 100.2.0 */ class Purchase { /** * @var CartRepositoryInterface */ private $quoteRepository; /** * @var CartManagementInterface */ private $quoteManagement; /** * Purchase constructor. * @param CartRepositoryInterface $quoteRepository * @param CartManagementInterface $quoteManagement */ public function __construct( CartRepositoryInterface $quoteRepository, CartManagementInterface $quoteManagement ) { $this->quoteRepository = $quoteRepository; $this->quoteManagement = $quoteManagement; } /** * Summarize quote and place order. * * @param Quote $quote * @return int Order id * @throws LocalizedException if order can not be placed for a quote. * @since 100.2.0 */ public function purchase(Quote $quote): int { $quote->collectTotals(); $this->quoteRepository->save($quote); $orderId = $this->quoteManagement->placeOrder($quote->getId()); return $orderId; } }