节点条带产品列表返回空

Azi*_*ima 4 javascript node.js promise stripe-payments

我正在尝试从 stripe 返回所有产品和计划列表。

但是,即使active创建了产品,产品列表也会返回空。

function getProductsAndPlans() {
    return Promise.all([
        stripe.products.list({}),
        stripe.plans.list({}),
    ]).then(stripeData => {
       console.log('products', stripeData[0]) <-- this is empty
       console.log('plans', stripeData[1]) <-- this returns plans
    }).catch(err => {
        console.error('Error fetching Stripe products and plans: ', err);
        return [];
    });
}
Run Code Online (Sandbox Code Playgroud)

以下是我的 Stripe 仪表板中的产品: 在此输入图像描述

计划返回:

在此输入图像描述

但产品列表是空的:

在此输入图像描述

这是条纹文档的副本。

const stripe = require('stripe')('sk_test_smkOYa912GSsdfdfDDfByiohm');

const products = await stripe.products.list({
  limit: 3,
});
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?

Nol*_*n H 8

这很可能与2018-02-05以来的 API 更改有关,当时默认行为从 切换type=goodtype=service,并且您的帐户可能具有早于该版本的默认 API 版本。type=service正如记录的那样,默认情况下,对于旧 API 版本的产品列表请求,您的产品可能会被忽略。

要获取产品列表请求以包含您在仪表板中使用的产品,您可以执行以下操作之一:

  1. 明确请求service产品stripe.products.list({type: 'service'})(如 API 变更日志中所述)
  2. 使用(或任何更高版本)覆盖该请求的默认 APIstripe.products.list({}, {apiVersion: '2018-02-05'})
  3. 升级您的账户默认API版本