// the find
netlify/gocommerce
A headless e-commerce for JAMstack sites.
GoCommerce is a Go microservice that handles orders and payments for static sites, pulling product metadata from JSON embedded in your HTML pages. It's designed to pair with a Netlify-hosted JAMstack frontend and a companion JS client library. Target audience is small store owners who want self-hosted checkout without a full e-commerce platform.
1. Product data lives in the static HTML itself — no separate product catalog API needed, which is an elegant fit for JAMstack; 2. VAT calculation is done server-side from a settings.json the static site also reads, so client and server can't drift out of sync; 3. Webhook support for order/payment/refund events with JWT-signed payloads gives you a real integration surface without coupling to a specific backend; 4. The codebase is small and straightforward Go — the api/, models/, and payments/ split is clean and testable.
1. Actively unmaintained by Netlify — the last real development was years ago, the CI badge points to Travis CI which Netlify itself abandoned, and the companion JS client (netlify-commerce-js) is archived; adopting this means owning a dead codebase; 2. Uses GORM v1 (the gorm.io/gorm v2 rewrite is a different module) and sqlite3 as a supported driver — these are dependency-rot timebombs; 3. Coupon system fetches a JSON file from an arbitrary URL over HTTP Basic auth — no signing, no cache invalidation, no versioning; a network blip at checkout is a bad user experience; 4. Multi-instance 'operator mode' references a Netlify-internal concept (OPERATOR_TOKEN) with no documentation on what that actually means outside Netlify's infrastructure, making it useless for independent deployments.