On this page
  1. Portable domains
  2. NestJS boundaries

Commerce

Catalog, one-time payments, inventory, orders, fulfillment, and their NestJS application boundaries.

Commerce packages keep product terms, payment state, stock promises, order state, and fulfillment progress separate while providing an orchestration layer that composes them into one-off purchase flows.

Portable domains

PackagePlanResponsibility
@playstack/catalogProducts, variants, immutable offers, and provider-aware quotes.
@playstack/paymentsOne-off checkout, capture, refund, dispute, and reconciliation projections.
@playstack/inventoryLocations, balances, reservations, and immutable stock adjustments.
@playstack/fulfillmentEncrypted fulfillment requests and provider-neutral delivery progress.
@playstack/commerceOrder snapshots and transactional orchestration across the other domains.

NestJS boundaries

PackagePlanResponsibility
@playstack/nest-catalogAuthorized catalog administration.
@playstack/nest-paymentsRefund, reconciliation, and verified payment-event services.
@playstack/nest-inventoryInventory administration and reservation-expiry workers.
@playstack/nest-fulfillmentFulfillment administration and queue-neutral workers.
@playstack/nest-commerceCheckout, order-access, and payment-projection services.

Subscriptions remain in @playstack/billing. Product applications can use subscriptions and one-time commerce together without forcing either payment model into the other.

Go

Playstack Pro tag
OriginsPricingBlogNewsletterChangelogStatusRoadmap
ContributorsCommunityIn Use ShowcaseCase StudiesPartnersSponsors
FAQsSupportContact

© 2026 Playstack. All rights reserved.

With OSS
Terms of ServicePrivacy PolicyCookie PolicyImprint

By

Commune Software