在 Stripe 中检索具有相同元数据值的所有产品

Retrieve all products with same metadata value in Stripe

在 Stripe 中(使用 Next.js 和 Node.js),我正在尝试检索其元数据中具有相同键值对的所有产品:

示例:检索所有产品 metadata: {category: 'foo'}

在尝试呈现特定类别的页面时,我不想列出和解析我的整个目录,但我也知道只能通过 id (docs) 检索产品,推断我必须:

list all products 
for all products:
  if metadata matches, 
    add id to array
for id array:
  retrieve each

虽然这是暴力破解,但不是一个好主意。

根据 metadata 有条件检索的最佳方法是什么?

感谢任何帮助。

Stripe 的 API 目前不支持使用元数据查询产品。您必须检索所有产品并过滤它们。 Stripe 确实有一个搜索 API [2],目前处于测试阶段,所以您可能想写信来看看您是否符合条件。

如果您碰巧在数据库中跟踪产品 server-side,您可以为类别添加一个额外的列。您可以按类别查询数据库以查找那些特定的产品,然后在通过 Stripe 检索它们时使用 ids [2] 参数仅包含这些产品 ID。

[1] https://stripe.com/docs/search-api

[2] https://stripe.com/docs/api/products/list#list_products-ids