Stripe.customers.cancel 不是一个函数,Stripe 版本 14.18.0

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

运行 Cypress 测试(调用清理函数来删除 Stripe 中的用户)时,出现以下错误:

Body: { "status": 500, "message": "清理条带时出错 测试数据”,“错误”:“stripe.customers.cancel 不是一个函数”}

Github 上的这个问题 中,它说我需要使用 9.x 或更高版本。但是,当在安装此软件包的目录中运行

npm list
时,我可以看到我正在使用 v14.18.0。我仔细检查了是否存在冲突的全局包,但似乎没有。这目前阻止我进行测试,有其他人经历过这种情况或者知道去哪里查看吗?

出于好奇,这是 Cypress 调用的用于清理测试数据的函数:

const cleanAllCustomersExcept = async function cleanAllCustomersExcept(customersToKeep) {
  // Delete customers
  const customers = await stripe.customers.list();
  console.log(stripe.customers);
  const customersList = customers.data;
  await Promise.all(
    customersList.map(
      async (customer) => (customersToKeep.includes(customer.id)
        ? null
        : stripe.customers.cancel(customer.id)
          .then(() => {
            console.log(`Deleting customer ${customer.id}`);
          })),
    ),
  );

  if (customers.has_more) {
    return cleanAllCustomersExcept(customersToKeep);
  }
  console.log('Done removing all customers');
  return null;
}
javascript node.js npm stripe-payments
1个回答
0
投票

Customer API 没有 Cancel 方法。如果您查看 Stripe 的 API 参考这里,您会发现它不存在。

类似地,您链接的 Github 问题是关于一个完全不同的 API,称为订阅 API。该方法确实有一个取消订阅 API 方法记录在here

您的代码不正确,不应调用不存在的取消客户 API。也许您想调用 here 记录的删除客户 API?

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