如何取消订阅

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

我试图在当前周期结束时取消使用 PHP 的条带订阅,但在文档中找不到我使用的版本的任何示例。

我的代码如下

$stripe->subscriptions->cancel(
   $subscription_id,
   [
      'invoice_now' => true,
      'cancel_at_period_end' => true
   ]
);

但是,这不起作用,我找不到如何将订阅设置为在周期结束时结束。

php stripe-payments
3个回答
3
投票

调用订阅取消

端点时不能传递
cancel_at_period_end参数。相反,订阅将被立即取消。

您应该调用 订阅更新端点并传递相关参数:

$stripe->subscriptions->update(
   $subscription_id,
   [
      'cancel_at_period_end' => true
   ]
);

0
投票

如果您想立即取消订阅,您必须使用此取消 API:

$stripe->subscriptions->cancel($subscription_id, []);

如果您想在计费周期结束时取消订阅,则必须使用更新 API:

$stripe->subscriptions->update($subscription_id, ['cancel_at_period_end' => true]);

0
投票

基本上取决于您的需要,在什么情况下您想取消订阅,例如在当前周期结束时或立即取消 代码示例(Python)

 if cancel_type == "end-current-cycle":
            response = stripe.Subscription.modify(
                sub_id,
                cancel_at_period_end=True
            )
  elif cancel_type == "immediately":
            response = stripe.Subscription.delete(sub_id, prorate=True)
  elif cancel_type is not None:
            response = self.stripe.Subscription.modify(
                sub_id,
                proration_date = timestamp,
                cancel_at=timestamp
            )

cancel_at_period_end = true 在当前周期结束后取消订阅并且 cancel_at = 在给定时间取消的时间戳

© www.soinside.com 2019 - 2024. All rights reserved.