@easy-cms/plugin-ecommerce
v0.67.0
Published
A shop for Easy CMS: products and variants, prices in several currencies, carts (guests too), checkout with Stripe or bank transfer, orders, stock, customer accounts, and React and Vue hooks (experimental)
Maintainers
Readme
@easy-cms/plugin-ecommerce
A shop for Easy CMS: products with variants and prices in several currencies, carts that guests keep too, checkout with Stripe (card, PromptPay) or bank transfer, orders made exactly once, stock, customer accounts, order emails and events, and a client for pages with React hooks and Vue composables. Part of Easy CMS, the embedded, code-first headless CMS for Nuxt and Next.js.
[!WARNING] Experimental. This package has the same version number as the rest of Easy CMS, but its options, endpoints and data may still change in a minor release, after 1.0 too: it is not covered by the stability promise.
Install
npm install @easy-cms/plugin-ecommerceOr pnpm add, yarn add or bun add. For Stripe, also install stripe.
Usage
import { ecommercePlugin, manualAdapter } from '@easy-cms/plugin-ecommerce'
import { stripeAdapter } from '@easy-cms/plugin-ecommerce/stripe'
export default defineConfig({
// …
plugins: [
ecommercePlugin({
currencies: { supported: ['THB', 'USD'] },
payments: {
methods: [
stripeAdapter({ secretKey: process.env.STRIPE_SECRET_KEY!, publishableKey: process.env.STRIPE_PUBLISHABLE_KEY! }),
manualAdapter({ instructions: 'Transfer to Kasikorn Bank 123-4-56789-0' }),
],
},
}),
],
})'use client'
import { ShopProvider, useCart } from '@easy-cms/plugin-ecommerce/react'
function AddToCart({ product }: { product: number }) {
const { addItem } = useCart()
return <button onClick={() => addItem(product)}>Add to cart</button>
}Links
Shop guide · Documentation (ภาษาไทย) · GitHub
MIT License
