Universal eCommerce Toolkit.
A modular, provider-agnostic eCommerce SDK for JavaScript and TypeScript. Unified types across platforms, pluggable payment providers, and a checkout engine that works on any runtime.
import { createCommerce } from '@commercejs/core' import { SallaAdapter } from '@commercejs/adapter-salla' import { TapPaymentProvider } from '@commercejs/payment-tap' const commerce = createCommerce({ adapter: new SallaAdapter({ token }), payments: { tap: new TapPaymentProvider({ secretKey }) }, defaultPayment: 'tap', }) const products = await commerce.getProducts({ query: 'shirt' })
Built for flexibility
Adapter Pattern
Connect any eCommerce platform — Salla, Shopify, WooCommerce — through a unified interface. One API, many backends.
Pluggable Payments
Swap payment providers without rewriting your checkout. Tap, Stripe, PayPal — each implements the same PaymentProvider interface.
Checkout Engine
A framework-agnostic state machine that handles the full checkout flow — from customer info to payment confirmation with 3DS support.
Webhook Verification
Cryptographic webhook verification with built-in presets for Tap, Stripe, and more. Trust every event your server receives.
TypeScript First
Every package ships with full type definitions. The unified type system covers products, carts, orders, payments, and more.
Runtime Agnostic
Works in Node.js, Edge runtimes, Deno, and the browser. No framework lock-in — use with Nuxt, Next.js, Express, or anything else.
The package ecosystem
@commercejs/core
The orchestration engine — createCommerce(), event bus, capability routing, and webhook dispatch. One entry point, any adapter.
@commercejs/types
Unified data model — Product, Cart, Order, Customer, and 20+ domain types that work across every platform adapter.
@commercejs/checkout
The CheckoutSession state machine. Manages the flow from idle → info → shipping → payment → complete.
@commercejs/payment-tap
Tap Payments provider — charges, 3DS redirects, refunds, and per-transaction webhooks for the MENA region.
@commercejs/webhook-verifier
Provider-agnostic webhook verification. Built-in hashstring verification for Tap with extensible config for any provider.
@commercejs/adapter-salla
Salla platform adapter — maps Salla's API to the unified CommerceAdapter interface for products, carts, orders, and more.
@commercejs/hosted-checkout
A ready-to-deploy Nuxt application for hosted checkout. Tap Card SDK integration with payment links, saved cards, and delivery dispatch.
@commercejs/platform
Built-in commerce engine — Neon Postgres backed, Admin API, Profile system, and 12 implemented domains.
@commercejs/nuxt
Nuxt module — auto-imported composables, server-generated REST API, and a runtime plugin that wires the adapter into your app.