无法恢复已取消的条带订阅?

mik*_*see 4 node.js stripe-payments typescript

我正在尝试恢复取消的条带订阅。我遵循以下指南:https ://stripe.com/docs/billing/subscriptions/canceling-pausing

我的取消代码如下所示:

// Update to cancel at the end of the period
await stripe.subscriptions.update(subscription.id, { cancel_at_period_end: true });

// Cancel the subscription
await stripe.subscriptions.del(subscription.id)
Run Code Online (Sandbox Code Playgroud)

然后我继续以下内容:

// Grab the subscription
const subscription = await stripe.subscriptions.retrieve(subId);

// Resume
await stripe.subscriptions.update(subscription .id, {
      cancel_at_period_end: false,
      items: [{ id: subscription.items.data[0].id, plan: subscription.plan.id }],
    });
Run Code Online (Sandbox Code Playgroud)

但我得到的错误是:

StripeInvalidRequestError:没有此类订阅:sub_GFmbrVQihHoD6P

我立即在集成测试中一个接一个地运行这些。我不知道这是否与之有关。

有任何想法吗?

小智 6

我想告诉您您正在使用的以下两行。我认为您正在同时立即使用这些

 // Update to cancel at the end of the period
await stripe.subscriptions.update(subscription.id, { cancel_at_period_end: true });

// Cancel the subscription
await stripe.subscriptions.del(subscription.id)
Run Code Online (Sandbox Code Playgroud)

仅当您想在当前计费周期结束后取消订阅时,才必须使用以下行。

  await stripe.subscriptions.update(subscription.id, { cancel_at_period_end: true });
Run Code Online (Sandbox Code Playgroud)

仅在上述语句中,如果您想在当前计费周期结束之前重新激活订阅,则可以通过将 cancel_at_period_end 的值更新为 false 来重新激活订阅。请记住,订阅尚未到达计费周期结束时。只有这样才能重新激活,否则您需要为用户创建新的订阅。

如果您想立即取消订阅,则只需使用以下行。您无法重新激活订阅。您需要为用户创建新的订阅。

await stripe.subscriptions.del(subscription.id)
Run Code Online (Sandbox Code Playgroud)

欲了解更多信息,您可以阅读此内容。

https://stripe.com/docs/billing/subscriptions/canceling-pausing#reactivating-canceled-subscriptions