HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/Neopoints/momsecurity.be/app/Komma/Shop/Checkout/CheckoutServiceInterface.php
<?php

namespace App\Komma\Shop\Checkout;

use App\Komma\Shop\Cart\ShoppingCartItemInterface;
use App\Komma\Shop\Orders\Models\Order;
use App\Komma\Users\Models\User;
use Illuminate\Http\RedirectResponse;

/**
 * Interface CheckoutServiceInterface
 *
 * A checkout service sits between Order related code and payment related code.
 * It directs those two domains to work together.
 *
 * @package App\Komma\Shop\Checkout
 */
interface CheckoutServiceInterface
{
    /**
     * @param ShoppingCartItemInterface[] $shoppingCartItems
     * @param User $customer
     * @return Order|null
     * @throws \Throwable
     */
    public function createOrderFromShoppingCartItemsForCustomer($shoppingCartItems, User $customer): ?Order;

    /**
     * Initializes a payment request for the user that owns the order.
     *
     * @param Order $order
     * @return \HttpResponse
     */
    public function startPaymentForOrder(Order $order): RedirectResponse;
}