Multi-item subscriptions
The subscription create/update/charge API now accepts multiple line items — invoices and webhooks show the full itemized breakdown instead of one summed line. We also fixed a dashboard crash when selecting an offer whose name contains a quote character.Account deactivation, and storefronts publish by default
- Admins can now deactivate (reversible) or permanently erase a member account, with a confirmation email and a login banner shown after deactivation.
- New workspaces now publish their storefront by default instead of starting unpublished.
- Fixed the “Stripe not connected” banner showing incorrectly, and workspace metadata not updating right after connecting a Stripe account.
- Fixed a subscription item not reflecting an upgraded offer after a failed payment.
Workspace bans and a new subscription webhook
- Admins can now ban a workspace for abuse or ToS violations — the store goes offline immediately and the owner loses dashboard access, with an email notification.
- Added a
subscription_updatedwebhook that fires on subscription status transitions, with guidance for reconciling out-of-order webhook delivery. - Fixed a crash in the dashboard and store caused by third-party browser extensions (e.g. translators) mutating the page.
- Fixed the embedded checkout element rendering an opaque background instead of a transparent one.
Workspace lifecycle emails and webhook reliability
- Admins can now connect a new Stripe account to a workspace that hasn’t taken a sale yet.
- Added progressive lifecycle emails (suspension, archived, purge-scheduled) that warn sellers before each step.
- Fixed subscription creation failing when Stripe settled the payment server-side without returning a client secret.
- Fixed outgoing webhook deliveries erroring when the target event or webhook no longer exists — those deliveries are now dropped cleanly instead of failing.
Workspace archiving and checkout fixes
- Admins can now archive any workspace to take it out of circulation regardless of payment history, permanently protecting it from the automated inactivity sweep.
- Fixed
fngs-discount-codeandfngs-quantityURL parameters not being applied when opening a checkout-element link. - Fixed Apple Pay and Google Pay showing the pre-tax amount instead of the tax-inclusive total.
Paid workspaces are now permanently protected from cleanup
The inactive-workspace sweep now permanently protects any workspace that has ever taken a paid order — it stays active as the system of record for its transaction data and is never warned, suspended, archived, or purged.Safer inactive-workspace handling
Reworked the inactive-workspace sweep into a recoverable lifecycle (active → suspended → archived → purge), fixing a bug where inactive workspaces could be permanently deleted at suspension instead of being given a recovery window. Also fixed a checkout billing-country mismatch between server and client render.API docs fix
Fixed the Swagger UI and downloadable OpenAPI spec serving an invalid file.New API filters and email fixes
- Added
checkoutIdand custom-field filters to the orders and payments list endpoints. - Fixed the store name and BCC address in transactional emails falling back incorrectly when not explicitly configured.
- Fixed a crash when retrieving offer information for a missing offer.