Currently seeking new career opportunities in web development, particularly with Laravel, Hire Me

Stripe API Cancel Subscription

David Carr

Stripe API Tutorials Nova Framework

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 Your Logo Your Logo Your Logo

Become a sponsor

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

Sponsor

My Latest Book

Modular Laravel Book - Laravel: The Modular way

Learn how to build modular applications with Laravel Find out more

Subscribe to my newsletter

Subscribe and get my books and product announcements.

Learn Laravel with Laracasts

Faster Laravel Hosting

© 2006 - 2024 DC Blog. All code MIT license. All rights reserved.