首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何取消一批Stripe订阅?

如何取消一批Stripe订阅?
EN

Stack Overflow用户
提问于 2022-05-03 03:11:16
回答 2查看 343关注 0票数 0

生意失败了,我该怎么办?仪表板不允许我用一个简单的命令一次一次地取消所有订阅和计划。

EN

回答 2

Stack Overflow用户

发布于 2022-05-03 03:11:16

当您需要取消所有客户的订阅时,我不得不创建我称之为“世界末日”的脚本,或者至少要取消相当数量的客户订阅。

步骤:

  1. 转到https://dashboard.stripe.com/subscriptions
  2. 单击“导出”(如果幸运地保留了少数客户,请根据您的需要进行筛选)
  3. 将订阅ids复制并粘贴到此脚本中,或将csv文件中的ids解析到变量中。
  4. 快跑啊。
  5. 再检查一次https://dashboard.stripe.com/subscriptions,确保它都消失了
  6. 检查时间表,以防您有日程安排
  7. 检查https://dashboard.stripe.com/invoices?closed=false&status=open,以防您需要停止收取任何发票

fml.js

代码语言:javascript
运行
复制
const stripe = require('stripe')('your api key goes here');

const subscriptions = [
    // paste all subscriptions ids here or parse the array from the first column of the CSV file
];

async function cancelSubscription(s) {
    try {
        const deleted = await stripe.subscriptions.del(s);
        console.log(deleted.id);
    } catch (e) {
        console.log(e)
    }
}

function delay(t, val) {
    return new Promise(function(resolve) {
        setTimeout(function() {
            resolve(val);
        }, t);
    });
}

(async () => {
    for (const sub of subscriptions) {
        await cancelSubscription(sub)
        await delay(1000) // this delay prevents going over the API limit, you can decrease it
        // but you'll miss the opportunity to say goodbye to the ids rolling through your screen
    }
})()

祝你一切顺利,愿你永远不用使用这段代码。

票数 1
EN

Stack Overflow用户

发布于 2022-05-03 10:15:50

没有内置的方式取消所有订阅。但你可以这样做:

  1. 使用这个端点列出所有订阅
  2. 然后使用这个端点取消每个订阅

在Node.js中,它看起来如下所示:

代码语言:javascript
运行
复制
const subscriptions = await stripe.subscriptions.list();
subscriptions.autoPagingEach(subscription => {
  await stripe.subscriptions.del(subscription.id);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72094460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档