Get started in an afternoon
Install via NuGet, configure in the Umbraco backoffice and ship your first order. Here's the whole path.
Install the package
Add Optimus Commerce to your Umbraco 17+ / .NET 10 project. The package applies its own migrations on startup — no manual database schema.
# Package Manager Console
Install-Package Optimus.Commerce
# or .NET CLI
dotnet add package Optimus.Commerce
Map your content model
In the backoffice, map a document type to a product. Optimus uses your existing Umbraco properties for name, price, images and variants.
// Program.cs
builder.Services.AddOptimusCommerce(options =>
{
options.MapProduct<ProductPage>(p => new
{
Sku = p.Sku,
Price = p.Price,
Variants = p.Variants
});
});
Configure payments & shipping
Add a payment provider and a shipping method in the Optimus dashboard. Stripe, Klarna and Mollie are ready out of the box.
// Program.cs
builder.Services.AddOptimusPayments(pay =>
{
pay.AddStripe(o => o.ApiKey = cfg["Stripe:Key"]);
pay.AddMollie(o => o.ApiKey = cfg["Mollie:Key"]);
});
Render the storefront
Drop the cart and checkout widgets on your templates, or call the headless API from a separate frontend. You're live.
<optimus-cart></optimus-cart>
<optimus-checkup></optimus-checkup>
GET /umbraco/api/optimus/cart
API reference
/umbraco/api/optimus/catalog
List and filter products with facets.
/umbraco/api/optimus/product/{sku}
Fetch a single product with variants.
/umbraco/api/optimus/cart/add
Add an item to the current cart.
/umbraco/api/optimus/cart/checkout
Place an order from the cart.
/umbraco/api/optimus/orders/{id}
Retrieve an order by id.
/umbraco/api/optimus/webhooks/payment
Payment provider callback.
Full OpenAPI schema is generated from your content
model at /umbraco/api/optimus/swagger.
Have a question while building?
Support is included with Pro and Enterprise — or reach the team directly.