Build modern, SEO ready commerce storefronts with Hygraph, Next.js, Stripe and Tailwind CSS
This project is an example of how to build fully-functioning Next.js commerce storefront with Hygraph and Stripe. View the demo on https://commerce.withheadlesscms.com/.
getStaticProps
and getStaticPaths
.react-use-cart
.This reference application requires a Stripe account
degit
and install project dependencies.npx degit Hygraph/hygraph-commerce-starter#main hygraph-commerce-starter
cd hygraph-commerce-starter
npm install
Create a new Hygraph project using the Commerce Starter
template.
Add a .env
file by cloning .env.sample
and providing the required variable values.
It is recommended you create separate Hygraph auth tokens to handle querying and mutating data.
HYGRAPH_MUTATION_TOKEN=
HYGRAPH_QUERY_TOKEN=
HYGRAPH_ENDPOINT=
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SIGNING_SECRET=
Setup a Stripe webhook for the checkout.session.completed
event to order to enable Hygraph fulfilment via the mutation API.
Configure support for more locales or currencies in hygraph.config.js
if required. Learn more here.
Run npm run dev
Project configuration for supported locales and currencies is managed in hygraph.config.js
.
It is important that the
locales
array reflects the enabled locales in your Hygraph project.
module.exports = {
locales: [
{
value: 'en',
label: 'English',
default: true
},
{
value: 'de',
label: 'German'
}
],
currencies: [
{
code: 'GBP',
default: true
},
{
code: 'EUR'
}
]
}