Black Friday sale is now on! 50% off Laravel: The Modular Way. Learn more

Stripe API Cancel Subscription

David Carr

Stripe API Nova Framework Tutorials

    When canceling a subscription, there are 2 options to use. 

    I’m using Nova Framework not setup with Nova? please read Getting Stripe API setup with Nova Framework

    To cancel a subscription retrieve the current subscription by passing the subscription id to create a subscription instance then call cancel().

    Cancel can optionally take an array with the parameter of at_period_end which is a boolean when set, the subscription will be cancelled at the end of the subscription. The default will cancel the subscription immediately. 

    $cancelNow = array('at_period_end' => true); // false will cancel now
    
    //cancel
    $stripe = Subscription::retrieve($subscription_id);
    $result = $stripe->cancel($cancelNow);
    
    //update user
    $user = User::find(Auth::id());
    $user->current_period_end = date('Y-m-d H:i:s', $result->current_period_end);
    if ($result->canceled_at) {
        $user->canceled_at = date('Y-m-d H:i:s', $result->canceled_at);
    }
    $user->cancel_at_period_end = ($result->cancel_at_period_end) ? 'true' : 'false';
    $user->status = $result->status;
    $user->save();

     

    Laravel Modules Book by David Carr

    Help support the blog so that I can continue creating new content!

    Subscribe to my newsletter

    Subscribe and get my books and product announcements.

    © 2009 - 2022 DC Blog. All code MIT license. All rights reserved.