这是我的退订功能
public function cancelSubscription($ssid)
{
try {
\Stripe\Stripe::setApiKey(SSK);
$subscription = \Stripe\Subscription::retrieve($ssid);
if ($subscription['status'] == 'canceled') {
return $subscription['status'];
}
$subscription->cancel();
return $subscription;
} catch (Exception $e) {
echo '<pre>';
print_r($e->getMessage());
echo '</pre>';
die('error!- customer');
}
}
它工作正常,但是当我尝试升级计划或再次订阅时,出现错误。
没有这样的订阅:sub_EMYom4xxxxx
取消订阅后似乎订阅ID不匹配。 请提出任何解决方案。预先感谢。
答案 0 :(得分:2)
You can't reactivate a subscription after explicitly canceling it. If you mark it for cancelation you have a window to "un-cancel" before the cancelation date hits.
In this case you are canceling immediately so you'd need to create a new subscription entirely. See https://stripe.com/docs/billing/subscriptions/canceling-pausing#pausing-a-subscription