Stripe:n 次付款后过期/取消订阅
Posted
技术标签:
【中文标题】Stripe:n 次付款后过期/取消订阅【英文标题】:Stripe: Expire/Cancel subscription after n payments 【发布时间】:2018-02-13 13:01:14 【问题描述】:在我们的应用中,我们为运行良好的用户创建订阅,订阅可能因计划类型而异。但我不知道如何在用户全额付款后取消订阅。
是否有任何参数我们可以在创建订阅时告诉条带,告诉它何时应该取消订阅或告诉它在n
付款次数后取消它?
因此,基本上,如果客户购买了 1000 美元的产品,我们会向他收取每月 100 美元的费用,但在他全额付款后自动取消订阅。
感谢您的帮助
【问题讨论】:
【参考方案1】:我在这里回答了这个问题:Stripe cancel subscription at specific date
Stripe 刚刚将它添加到他们的 API 中,我偶然发现了它。他们有一个名为“cancel_at”的字段,可以设置为将来的日期。他们的文档中没有列出此属性,因为它太新了。您可以在此处查看响应对象中的值:
https://stripe.com/docs/api/subscriptions/create?lang=php
我已经使用 .NET 对此进行了测试,并且可以确认它会将订阅设置为在您提供的值时到期。
【讨论】:
取消订阅请求无效。'Received unknown parameter: cancel_at'
。它允许更新,如果将来取消订阅,则等待结果
@Adam,这不是为了取消。对此有一个特定的要求,即设置订阅应结束的日期。【参考方案2】:
当您在 Stripe 中创建订阅时,无法告诉 Stripe 在 N 个月后或达到给定数量时停止订阅。
来自documentation:
默认情况下,订阅继续,客户继续 计费,直到它被取消
因此,您可以做的是在满足给定条件后取消订阅。
您可以使用 webhooks 在每次向客户计费时收到通知,在每个计费周期结束时使用 invoice.payment_succeeded
事件(文档 here)。
您可以通过某种方式在您的数据库中跟踪客户支付的总金额,以及在您出售的商品“全额支付”之前剩余的金额。
每次获得 webhook 时,您都会增加总数,如果达到所需的金额,您将取消订阅,这样下个月就不会向客户收费。
【讨论】:
谢谢,因为在条带中没有内置的方式,这就是我现在要走的路线。唯一需要注意的是,如果向客户收费并且他们的 webhook 服务关闭会发生什么......希望他们将来会提供这个工具来告诉在创建订阅时何时取消。谢谢以上是关于Stripe:n 次付款后过期/取消订阅的主要内容,如果未能解决你的问题,请参考以下文章
Stripe Checkout 订阅付款失败重定向到过期链接页面