yournextstore

yournextstore

基于Next.js的电商网站模板 简单快速且功能全面

Your Next Store是基于Next.js的电商网站模板,集成Stripe支付系统。该项目支持快速部署、产品变体管理、税收计算及Webhook功能。开发者可通过Stripe Dashboard添加产品、设置价格,并利用元数据管理类别和排序。项目提供从本地开发到生产部署的完整指南,适合快速启动在线商店。

Next.js电子商务Stripe在线商店产品管理Github开源项目

您的下一个商店

<div align="center"> <table> <tr> <td> <a href="https://yournextstore.com/discord"><img src="https://img.shields.io/discord/1206629600483082341?style=for-the-badge&logo=discord&logoColor=white&labelColor=%235865F2&color=%23555" alt="加入 Discord" /></a> </td> <td> <a href="https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fyournextstore%2Fyournextstore&env=ENABLE_EXPERIMENTAL_COREPACK,NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY,STRIPE_SECRET_KEY,STRIPE_CURRENCY&envDescription=Read%20more%20about%20required%20env%20variables%20in%20YNS&envLink=https%3A%2F%2Fgithub.com%2Fyournextstore%2Fyournextstore%2Ftree%2Fupcoming%3Ftab%3Dreadme-ov-file%23add-environmental-variables&project-name=yournextstore&repository-name=yournextstore&demo-title=Your%20Next%20Store&demo-description=A%20Next.js%20boilerplate%20for%20building%20your%20online%20store%20instantly%3A%20simple%2C%20quick%2C%20powerful.&demo-url=https%3A%2F%2Fdemo.yournextstore.com%2F&demo-image=https%3A%2F%2Fyournextstore.com%2Fdemo.png"><img src="https://vercel.com/button" alt="使用 Vercel 部署" /></a> </td> <td> <a href="https://www.producthunt.com/posts/your-next-store?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-your&#0045;next&#0045;store"> <picture> <source media="(prefers-color-scheme: dark)" srcSet="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=459751&theme=dark" /> <img src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=459751&theme=light" height="36" alt="Your&#0032;Next&#0032;Store - 以&#0032;Stripe&#0032;为后端的电子商务 | Product Hunt" /> </picture> </a> </td> </tr> </table>

👉 demo.yournextstore.com 👈

</div>

演示

https://github.com/user-attachments/assets/64197310-29bd-4dd3-a736-1494340e20e8

先决条件

Node.js 20+

我们官方支持当前的 LTS 版本 – 截至撰写时为 20。YNS 应该可以在 18、20 和 22 版本上运行。如果您使用这些版本之一并遇到问题,请报告!

安装 Node.js

按照此处找到的适用于您操作系统的说明进行操作:nodejs.org/en/download

pnpm 9+

我们官方支持 pnpm 9 版本,但我们会尽最大努力保持与 npm 和 yarn 的兼容性。

安装 pnpm

安装 pnpm 最简单的方法是通过 Node.js Corepack。在 YNS 所在文件夹内,运行以下命令:

corepack enable corepack install

或者,按照此处找到的适用于您操作系统的说明进行操作:pnpm.io/installation

创建 Stripe 账户

YNS 与 Stripe 紧密集成,因此您需要一个 Stripe 账户才能使用 Your Next Store。按照 Stripe 的说明创建账户

请记住,Stripe 有两种不同的工作模式:测试模式生产模式。对于本地开发和测试目的,您应该使用测试模式。这样,Stripe 永远不会收取真实的钱,您可以使用特殊的测试凭证(如信用卡号码和 BLIK 号码)来完成支付。有关更详细的信息,请参阅 Stripe 文档:docs.stripe.com/testing

当您准备好向真实客户销售产品时,您必须在 Stripe 中将测试模式切换到生产模式,并生成新的凭证。

[!提示] 这一步需要 Stripe 进行额外的验证,所以我们建议您立即开始这个过程。

添加环境变量

为了让 YNS 正常工作,您需要定义一些环境变量。对于本地开发和测试,您可以创建一个空的 .env 文件,并将 .env.example 的内容复制到其中。

要在生产环境中设置环境变量,您需要查阅所选托管提供商的文档。

必需的环境变量

  • ENABLE_EXPERIMENTAL_COREPACK – 仅限 Vercel:设置为 1 以启用 Corepack
  • NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY – 来自 Stripe 的可发布密钥。
  • STRIPE_SECRET_KEY – 来自 Stripe 的秘密密钥。
  • STRIPE_CURRENCY – 用于确定您商店的货币。目前仅允许单一货币,应为三字母 ISO 代码(例如 usd)。
  • NEXT_PUBLIC_URLVercel 上可选 您商店的地址,不包含尾部斜杠,例如 https://demo.yournextstore.com。首次构建时,您应该将其设置为任何有效的 URL,例如 http://localhost:3000

https://github.com/yournextstore/.github/assets/200613/01d27f69-00dc-446e-bc81-5dea2587f346

可选的环境变量

  • NEXT_PUBLIC_UMAMI_WEBSITE_ID – 用于分析的 Umami 网站 ID
  • NEXT_PUBLIC_NEWSLETTER_ENDPOINT预览:未来用于订阅表单的端点。它应接受带有 JSON { email: string } 的 POST 请求,并返回 JSON { status: number }
  • STRIPE_WEBHOOK_SECRET预览:用于处理来自 Stripe 的事件的 Stripe Webhook 密钥。详见下文。
  • ENABLE_STRIPE_TAX预览:设置为任何值(如 1)以在 YNS 中启用 Stripe Tax。详见下文。
  • NEXT_PUBLIC_LANGUAGE - 商店的语言。

运行商店

完成上述步骤后,运行 pnpm install 安装所需依赖,然后运行 pnpm dev 在您的机器上启动开发服务器。Your Next Store 将在 localhost:3000 可用。

添加产品

Your Next Store 从 Stripe 获取所有产品、价格、描述和类别。因此,如果您已经熟悉 Stripe,您会感到非常熟悉!

您需要在 Stripe 仪表板中添加产品才能在 YNS 中显示。登录后,点击左侧边栏中的更多,然后选择产品目录。您也可以使用直接链接:

然后,点击添加产品并填写所有必需信息:

  • 名称,
  • 描述,
  • 价格 – 目前仅支持一次性付款,
  • 产品图片。

元数据

此外,Your Next Store 使用产品元数据来提供更多关于产品的上下文信息。您可以指定以下元数据字段:

字段是否必需描述
slug产品 slug 用于 URL。除变体外,需要是唯一的。
category用于分组产品的产品类别。
order用于排序产品的产品顺序。较小的数字会先显示。
variant产品变体 slug。详情请参见下文。
现在您应该可以在您的下一个商店中看到所有添加的产品。

变体

您的下一个商店支持简单的产品变体。要创建带有变体的产品,您必须在Stripe中添加多个具有相同slug元数据字段的产品。YNS使用variant元数据字段来区分同一产品的不同变体。例如,如果您有一件多种尺寸的T恤,您可以创建三个产品,slugt-shirtvariant值分别为smallmediumlarge

变体会显示在产品页面上。变体可以有不同的价格、描述和图片。需要注意的是,为了获得最佳的浏览体验,同一产品的所有变体的category应该相同。

[!注意] 未来,我们计划添加在内置管理仪表板中编辑产品和变体的功能。如果您有任何想法或建议,请告诉我们!

Stripe Webhooks

您的下一个商店使用Stripe Webhooks来处理来自Stripe的事件。目前,该端点用于自动重新验证购物车页面并创建税务交易(如果启用)。要设置Webhooks,请按照Stripe文档进行操作。具体步骤取决于您是否在Stripe账户中激活了Stripe Workbench:docs.stripe.com/webhooks#add-a-webhook-endpoint

webhook的端点是https://{YOUR_DOMAIN}/api/stripe-webhook。唯一需要的事件是payment_intent.succeeded。在Stripe中配置webhook时,将STRIPE_WEBHOOK_SECRET环境变量设置为Stripe创建的密钥。

[!注意] 未来,我们计划在webhook中添加更多事件以改善用户体验。

Stripe税务

您的下一个商店带有Stripe税务支持的预览版。要启用它,请将ENABLE_STRIPE_TAX环境变量设置为任意值(例如1)。

要使此功能正常工作,您必须在Stripe仪表板中设置税务设置:dashboard.stripe.com/register/tax。启用并配置后,税费将根据以下因素自动计算并添加到产品的总价中:

  • 产品定价 - 税费可以包含在内或额外计算
  • 产品税码
  • 客户地址
  • 客户税号

[!警告] 此功能仍处于早期阶段,可能存在尚未支持的边缘情况。我们正在积极开发中,如果您遇到任何问题或有任何建议,请告诉我们!

生产部署

Vercel

要在Vercel上部署,请点击以下按钮,设置您的GitHub仓库和环境变量,然后点击部署。请确保将ENABLE_EXPERIMENTAL_COREPACK变量设置为1

使用Vercel部署

您自己的VPS

描述即将推出。

Docker

描述即将推出。

就是这样

YNS每天都在发展,我们积极寻求关于改进的反馈。如果您有任何问题或遇到任何问题,请随时在我们的Discord服务器上联系我们。

常见问题

有时,您使用structuredClone将数据从服务器传递到客户端组件。为什么?

只有某些类型的数据可以直接从服务器传递到客户端。来自Stripe SDK的数据通常包含类实例。为了解决这个问题,我们使用structuredClone来消除它们,只将普通的旧对象传递给客户端。

编辑推荐精选

GPT Plus|Pro充值

GPT Plus|Pro充值

GPT充值

支持 ChatGPT Plus / Pro 充值服务,支付便捷,自动发货,售后可查。

GPT Image 2中文站

GPT Image 2中文站

AI 图片生成平台

GPT Image 2 是面向用户的 AI 图片生成平台,支持文生图、图生图及多模型创意工作流。

Vecbase

Vecbase

你的AI Agent团队

Vecbase 是专为 AI 团队打造的智能工作空间,将数据管理、模型协作与知识沉淀整合于一处。算法、产品与业务在同一平台无缝协同,让从数据到 AI 应用的落地更快一步。

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

下拉加载更多