设置Stripe订阅时设置结束日期

Tyl*_*nis 15 webhooks stripe-payments

在我的应用程序中,用户每月订阅(和计费)24个月.在我最初创建订阅的第24个月之后,有没有办法让Stripe自动结束订阅?

Lar*_*man 25

您在Stripe中描述的内容是可能的,但不是开箱即用的解决方案(截至2014年8月).你也需要一些编程逻辑.

首先,您需要一个Web挂钩端点:

https://stripe.com/docs/webhooks

接下来,您将要像平常一样订阅客户计划.我们将通过网络挂钩通知您的网站何时通过定期订阅付款.具体来说,您需要关注invoice.payment_succeeded事件:

https://stripe.com/docs/api#event_types

一旦特定客户达到了正确的付款次数(您将在最后跟踪),您就会发出取消订阅请求:

https://stripe.com/docs/api#cancel_subscription

希望有所帮助!拉里

PS我在Stripe的支持工作.

  • 我无法相信我花了多少时间试图找出如何安排未来的Stripe付款(但不是无休止的订阅).我真的希望Stripe允许"从现在开始2个月后,在每个月的25日将这张卡收费400美元,持续4个月,然后停止." 我认为Stripe会提供这个功能.我甚至找不到第三方工具来做到这一点!我真的不想尝试建立自己的.我想专注于我的业务. (9认同)
  • 该解决方案的问题在于它不能保证客户不会被多收.如果webhook服务出现故障或有任何其他问题,则订阅将不会被取消.我知道如何制作一个webhook,但我不喜欢将一些难以测试的东西混在一起,并可能导致客户多收费用. (7认同)
  • 拉里,真的很感激答案.我是一个狂热的粉丝或你的书和你的博客. (3认同)
  • @BenDavis尽管不是内置的,但您也可以针对您的用户设置最终数据字段,并安排每晚进行任务检查过期的用户。如果它发生在Stripe中会很好,但是我想您的应用程序还必须响应您的其他业务逻辑-发送“很抱歉看到您发送电子邮件”等,在这种情况下,无论如何,您都需要响应条带状的网络挂钩或有自己的时间表。 (2认同)

val*_*asm 10

2020年更新

可以通过在创建订阅时设置“cancel_at”日期来实现。更多信息使用 Stripe 创建订阅