取消订阅后,无法在php中的条纹网关中再次订阅

时间:2019-01-18 06:09:24

标签: php stripe-payments

这是我的退订功能

    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不匹配。 请提出任何解决方案。预先感谢。

1 个答案:

答案 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