Skip to main content

createNewCart

Create a new shopping cart for a session.

Import

import { createNewCart } from "@evershop/evershop/checkout/services";

Syntax

createNewCart(sid: string, customer?: CustomerData): Promise<Cart>

Parameters

sid

Type: string

Session ID.

customer

Type: CustomerData (optional)

Customer data object:

{
customer_id?: number;
email?: string;
group_id?: number;
full_name?: string;
}

Return Value

Returns Promise<Cart> with new cart instance.

Examples

Create Guest Cart

import { createNewCart } from "@evershop/evershop/checkout/services";

const cart = await createNewCart(sessionId);
console.log(`Created cart: ${cart.getId()}`);

Create Cart for Customer

import { createNewCart } from "@evershop/evershop/checkout/services";

const cart = await createNewCart(sessionId, {
customer_id: 123,
email: "customer@example.com",
group_id: 1,
full_name: "John Doe"
});

In Middleware

import { createNewCart, getMyCart } from "@evershop/evershop/checkout/services";
import { EvershopRequest } from "@evershop/evershop/types/request";
import { EvershopResponse } from "@evershop/evershop/types/response";

export default async function ensureCart(
request: EvershopRequest,
response: EvershopResponse,
next: () => Promise<void>
) {
const sessionId = request.session.id;
let cart = await getMyCart(sessionId);

if (!cart) {
const customer = request.getCurrentCustomer();
cart = await createNewCart(sessionId, customer || {});
}

request.locals.cart = cart;
await next();
}

See Also