If you build shops with UmbCheckout today, you'll feel at home straight away. The screens, the settings and the way you build a shop are the same as before. What has changed is the technology underneath, the licence, and a long list of fixes to how prices, currencies and baskets are handled.
What's new in UmbCheckout 17
Built for Umbraco 17 and .NET 10
UmbCheckout 17 needs Umbraco 17.6 or later and .NET 10. The backoffice screens have been rebuilt for Umbraco 17's new backoffice, with the same layout, fields and messages you know from v13. Settings live under Settings > UmbCheckout, and payments, invoices and refunds have their own UmbCheckout section.
Data is now stored with Entity Framework Core, on SQL Server or SQLite. Your existing database is adopted on first start, so nothing is copied or lost. You also no longer need app.UseSession() in Program.cs.
Safer with money
- Prices and currencies are decided on the server, from the product, both when an item is added and again at checkout.
- If a price changes, the shopper sees it on the basket page before they pay.
- Every currency is charged in its own minor unit, including zero-decimal currencies such as JPY and three-decimal currencies such as KWD.
- There is one basket per site root culture and currency, and quantities follow Stripe's limits.
- Shipping rates are only offered in the basket's currency.
More reliable checkout
- A paid basket is cleared even when the shopper never returns to the success page. The Stripe webhook records the payment, and the basket is cleared on their next visit.
- The success page only clears the basket that was actually paid for.
- The webhook handles each Stripe event exactly once, and returns an error so Stripe retries if a handler fails.
- The webhook works on front-end-only servers in a load-balanced setup.
Easier to extend
- New cancellable Saving and Deleting notifications, plus Loaded notifications, let your code change or refuse data going in and change data coming out.
- Every service is a public interface, and async methods take a
CancellationToken. - You can replace the Stripe webhook controller by subclassing it.
And more
- uSync exports and imports every Stripe setting.
- The Umbraco Forms workflow charges the stored basket and no longer blocks a thread.
- Configuration and Stripe settings are cached, and the cache is cleared on every server in a load-balanced site when they're saved.
- New Invoices and Refunds permissions control who can view and refund payments in the backoffice.
- Missing or rejected Stripe keys show a clear message instead of an error page, and never display the key.
A new licence model
The UmbCheckout core stays free and open source under the Apache License 2.0. A licence unlocks the add-on features, such as tax rates, the payments, invoices and refunds screens, and storing baskets in a cookie or the database, plus access to the support desk.
From UmbCheckout 17 and 1.6.0, licences are sold as annual subscriptions only, and perpetual licences are no longer available. Moving to a subscription lets us keep investing in UmbCheckout, with more features and more payment options to come.
- One licence covers one production domain and one running instance.
- Load-balanced sites add a replica add-on for each extra instance, whether that's another server, container or App Service instance.
- Extra production domains served by the same shop add a domain add-on.
www.and non-www.versions, redirect domains and staging-only host names are free. - Each paid licence includes a development licence for a staging or testing domain.
- Development mode means local development on
localhostor*.localneeds no licence at all. - Licence checks run in the background, never during a page request. If our licence server can't be reached, your licensed features keep working for up to 30 days.
If a site has a licence key but a request isn't licensed, for example because a domain hasn't been added, a banner on the shop explains why so you can fix it quickly.
Included with GreenStack hosting
Host your shop on GreenStack, our containerised Umbraco hosting platform, and an UmbCheckout licence is included at no extra cost. It covers Umbraco 10, 13 and 17, and stays active for as long as the site is hosted on GreenStack.
UmbCheckout 1.6.0 for Umbraco 13
UmbCheckout 1.6.0 brings the fixes made for UmbCheckout 17 back to Umbraco 13. It's the last major update for UmbCheckout 1.x, and your settings and data stay exactly as they are.
- Money and baskets: prices and currencies are decided on the server and checked again at checkout, every currency is charged in its own minor unit, and there's one basket per site and currency.
- Checkout: paid baskets are cleared even if the shopper doesn't return to the success page, and each webhook event is handled once.
- Backoffice: a new UmbCheckout section for payments, invoices and refunds, with Invoices and Refunds permissions. Refunds now ask for confirmation and are recorded in the audit log.
- uSync: every Stripe setting is exported, and refused imports are reported as failed.
- Load balancing: settings are cached and cleared on every server when saved.
- Licensing: needs an annual V1 licence. Checks run in the background, licensed domains are checked on each request, and development mode works on your own machine. Perpetual V1 licences need converting to an annual licence first.
- For developers: async methods take a
CancellationToken, and new members such asIPaidCheckoutSessionsandOnPaidBasketClearedNotificationare available.
A note for existing licence holders
Annual UmbCheckout 1.x licences carry over to 1.6.0, along with your settings and data. Perpetual V1 licences, bought as a one-off before 14 October 2026, don't cover 1.6.0. Convert yours to an annual licence in UmbPanel before you update, or the licensed add-ons will switch off. The open-source core and your stored data aren't affected either way.
New licences, including UmbCheckout 17 licences, are available at umbcheckout.net.
Existing licence holders can ask about an upgrade offer by opening a support ticket in UmbPanel. Offers are considered case by case.
If you'd rather keep a perpetual licence as it is, pin your UmbCheckout packages to 1.5.x before updating your site.
UmbCheckout 1.x continues to be supported until Umbraco 13 reaches end of life in December 2026.
Upgrading from Umbraco 13
Most sites upgrade by updating the packages. UmbCheckout 17 keeps the screens, settings, data and front end of UmbCheckout 1.x.
- Upgrade your site to Umbraco 17.6 or later and .NET 10.
- Update every UmbCheckout package you use to 17.x.
- Add your UmbCheckout 17 licence key, if you use the licensed features.
- Start the site. UmbCheckout adopts your existing tables on first start.
- Check your Stripe webhook points at your site and uses the latest API version.
If you've written custom code against UmbCheckout's services, or overridden its partial views, read the Upgrading from v13 guide first. It lists every breaking change and its replacement.
Methods without a CancellationToken, the blocking IStripeSessionService methods and the replaced constructors still work in 17.0, with a compiler warning. They'll be removed in 17.1 (#108). UmbCheckout now calls the token overloads, so if your tests mock its services or you decorate them, set up or override those overloads.
On a load-balanced site, every running instance of a production site needs a licence. Settings caches clear across servers through Umbraco's own load balancing, with no extra setup.
What's next
UmbCheckout 17 is the foundation for the features you've been asking for. Here's what's planned on GitHub.
UmbCheckout 17.1
- Stripe subscriptions, with an overview of subscriptions in the backoffice
- Members-only access for subscribers, so a subscription can unlock content on your site
- Stripe customers, with a customers overview in the backoffice
- An invoice payment provider
- A price property editor
UmbCheckout 17.2
- Stripe products, a paid add-on
- Umbraco Automate, a paid add-on
Got an idea or a feature you'd like to see? Open an issue or join the discussion on GitHub.
Get started
- What's new in UmbCheckout 17
- Upgrading from v13
- How UmbCheckout 17 licences work
- Changes in UmbCheckout 1.6.0 for Umbraco 13
- Buy a licence at umbcheckout.net
Questions about your licence or upgrading? Open a ticket in UmbPanel and we'll help.