在特定日期后取消条纹订阅

问题描述 投票:0回答:3

我使用 php 集成了 stripe,现在我想为每个创建的订阅设置一个

cancel_at
日期。此取消日期取决于所选的计划。我按照本教程 https://phppot.com/php/manage-recurring- payments-using-stripe-billing-in-php/ 中描述的步骤进行操作,但在这里他们不选择
cancel_at
日期创建订阅。那么我该怎么做呢? 我更喜欢在创建订阅后设置此到期日期,以便保持与教程中描述的完全相同的结构。但我想知道我可以在哪里做到这一点?如何 ?我应该在 webhooks 处理部分之一中设置日期,例如在 customer.subscription.created 中 或者在 success.php 页面上?

我们喜欢这个代码吗? :

$stripe->subscriptions->update(
 'sub_xxxxx',
 ['cancel_at' =>'10/10/2021']
);
stripe-payments
3个回答
4
投票

您可能想要使用订阅计划,而不是该教程中描述的内容来执行您在此处尝试执行的操作:https://stripe.com/docs/billing/subscriptions/subscription-schedules/use-cases #分期付款计划


1
投票

您可以在创建订阅时提供

cancel_at
字段。在创建订阅后使用字段更新订阅是没有意义的,因为这会导致不必要的 API 调用。

https://stripe.com/docs/api/subscriptions/create#create_subscription-cancel_at

但如果你愿意,你可以。是的,您还可以监听

customer.susbcription.created

 webhook 事件来更新订阅的参数。

https://stripe.com/docs/api/events/types#event_types-customer.subscription.created


0
投票
1.将带有有效负载的cancel_at发送到Stripe订阅创建API,stripe 将在给定时间戳取消,python代码

stripe.Subscription.create({**stripe_obj, cancel_at=(datetime.today() + timedelta(days={your_day})).timestamp()})
2.仅创建给定期限的计划,如果您想在 14 天后自动取消订阅,则创建仅 14 天的计划,您可以向 Stripe 提供自定义天数,并将 cancel_at_period_end = true 和有效负载发送到 Stripe 订阅创建 API 

stripe.Subscription.create({**stripe_obj, cancel_at_period_end=true)})
    
© www.soinside.com 2019 - 2024. All rights reserved.