使用 Stripe 管理电子商务产品数据的最佳方法?

问题描述 投票:0回答:2

我正在使用 Next.js、Prisma with MongoDB 和 Stripe 构建一个电子商务项目。

当我开始设计产品的架构时,我遇到了一些困惑。

我应该直接在数据库中创建产品吗? 通过这种方法,我意识到我将为每个结帐会话创建一个条纹新产品。然而,Stripe 会自动归档这些产品,所以我不确定这是否是一个好的解决方案。

或者,我应该通过 Stripe 仪表板/API 创建产品,然后根据 Webhook 事件更新我的数据库吗?

哪种方法更好,您为什么这么认为?

next.js stripe-payments e-commerce prisma
2个回答
0
投票

我认为这确实很主观/很大程度上取决于您的应用程序有什么要求。

您在帖子中提到的是 Stripe Checkout 的

price_data
product_data
构造函数,它们非常强大,因为它们允许您根据 Checkout 会话创建产品和价格。
正如您所指出的,这些产品和价格仅适用于创建它们的会话,并且会自动存档。

另一个解决方案是创建产品和价格,然后您可以通过其 ID 在结帐会话中使用/重复使用它们。

虽然这实际上取决于您的应用程序需要什么,但我个人更喜欢使用

price_data
product_data
,因为它通常可以简化项目:

  • 网络流量更少,因为您只需对 Stripe 执行一次 API 调用。
  • 无需在您端获取产品和价格或存储 ID 即可在会话中引用它们。
  • 不可能遇到无效 ID 的问题,例如如果您更改 Stripe 帐户、在实时/测试模式之间切换或意外删除价格/产品。
  • 您仍然可以嵌入外部信息,例如使用
    product_data.metadata

0
投票

这两种方法都是有效的。哪个更好取决于您的具体用例、业务需求和其他因素。

如果您将产品存储在您的终端上,您可以使用

price_data
指定内联的临时产品和价格信息。这将每次创建一个新的产品和价格,但它们不会像您直接创建的产品和价格那样使仪表板变得混乱。

© www.soinside.com 2019 - 2024. All rights reserved.