我将使用Stripe进行付款流程。根据文档,我对免费付款选项提出了以下想法和一些疑问。
我决定在我的应用程序中使用DotNet API和checkout.js。
这是我的理解,
在服务器端,
3.1)使用条纹令牌(StripeCustomerService)创建客户
3.2)使用客户ID和计划ID(StripeSubscriptionService)创建订阅=>在此阶段,预期付款将根据我已经从Stripe仪表板创建的计划自动处理。
我可以从我的侧面激活该功能。
Stripe将在每个付款日期自动向客户发送电子邮件,并根据该日期发送webhooks事件(电子邮件模板的外观如何?)
我可以收听网络警报以激活/停用功能。
我选择了以下活动(可能会错过其他活动)
charge.refunded
charge.failed
charge.dispute.created
customer.subscription.deleted
invoice.payment_failed
charge.succeeded
invoice.payment_succeeded
如果我的理解是错误的,请纠正我(或者)我必须考虑更多的事情。
现在,我对提供免费计划感到困惑。
关于免费计划,
1)我如何在不获取卡信息的情况下使用条纹进行免费计划 第一次?
2)在这个阶段我是否必须使用checkout.js?
3)我需要参加哪些免费活动?锯 “ customer.subscription.trial_will_end”事件和文档说,它 发生在到期前3天,但会在发生当天发生什么事件 试用结束?
答案 0 :(得分:0)
您对订阅和事件流的理解是正确的,这应该起作用。您应该确保在“测试”模式下测试所有这些内容,以确保它对您来说是端对端的。
对于免费计划,这绝对是可能的,但是在这种情况下,您可以自己构建。您必须知道所选计划是免费的,并跳过卡的详细信息收集。您可以创建该计划的订阅,例如,该计划每个月都会起作用并触发类似事件。您将得到invoice.payment_succeeded
和customer.subscription.updated
。您不会参加charge.updated
事件,因为不会付费。
关于试用期结束,当新的计费周期开始且订阅变为活动状态时,Stripe将发送customer.subscription.updated
。
答案 1 :(得分:0)
要为客户订阅免费计划,不需要卡信息,因为Stripe不会向客户收费,因为该金额为零。
关于如何确定试用期到期,最好的方法是创建具有40天试用期的订阅。您可以设置基本金额的订阅,然后设置customer.subscription.updated
网络挂钩以在试用期结束时通知您,以更新您的终止日期。
要检查customer.subscription.updated
中的试用期满,请在webhook事件对象中查找计划ID,然后将status
属性与status
属性中的previous_attributes
值进行比较查看它是否已从trialing
更改为active
。