对于订阅,您必须收听发票事件还是必须存储计费信息



所以我正试图在我的网络应用程序中通过Stripe实现订阅,我正在遵循文档和一些像这样的示例转发-https://github.com/vercel/nextjs-subscription-payments

在这个repo中,它将用户的计费信息存储在他们的数据库中。

我正在使用客户门户,所以我认为我不需要存储计费信息,对吗?

同样在文档中,它说要监听invoice事件-https://stripe.com/docs/billing/subscriptions/webhooks

但在回购的例子中,它只听

'product.created',
'product.updated',
'price.created',
'price.updated',
'checkout.session.completed',
'customer.subscription.created',
'customer.subscription.updated',
'customer.subscription.deleted'

所以,

你的网络挂钩需要听什么才能订阅,

您在数据库中存储了哪些关于用户的数据?如果可以避免的话,我宁愿不存储账单数据。

来自独立零售商:https://www.indiehackers.com/post/for-subscriptions-do-you-have-to-listen-to-invoice-events-or-have-to-store-billing-info-dadaea0ec3?commentId=-MadZ0mx7mv_xHb7Xp6v

这实际上取决于你的定价结构和你的应用程序。您是否有多个分层,其中不同的分层提供对不同功能的访问?所有用户都是付费的吗?还是你有免费增值层?还有许多其他因素。

在最基本的层面上,你可能只需要听就可以逃脱惩罚

'customer.subscription.created',
'customer.subscription.updated',
'customer.subscription.deleted'

这将告诉您订阅何时开始、续订和取消。

但是,如果续订失败,比如说由于卡过期,你将无法通知用户。这就是发票挂钩的作用所在——如果你想说;您的续订将在3天内发生";,等

在vercel示例中,使用了产品和价格挂钩,其中Stripe是产品和定价的真实来源,并且产品/价格反映在您的应用程序中。因此,您可以访问Stripe的仪表板,创建/更改价格/产品,然后将其推送到您的应用程序中。

我相信,即使你使用的是计费门户,当用户注册时,你仍然需要呼叫Stripe并创建客户记录,以及初始订阅(可以是"免费"订阅或其他任何订阅(,因为我认为如果没有活动订阅,计费门户就无法工作-它是用于更改和取消订阅的,而不是用于初始创建。我可能错了,我已经有一段时间没有这么做了。

因此,我的建议是将入职流程、续订流程、升级/降级流程、取消流程以及您的应用程序需要了解订阅的方式/内容用线框/流程图表示出来。一旦你做到了,你就会知道Stripe和你的应用程序之间需要来回传递什么。

最新更新