I think most of that is handled automatically for you. Usually when you cancel a subscription laravel stores an end date in the database. So for example if I subscribe today for a 30 days and cancel tomorrow then I will be having 29 more days to use my sub (thats the default situation of course).
Stripe uses webhook so if the defaults or the edge cases are not suitable for you then checkout https://github.com/spatie/laravel-stripe-webhooks
Hope that helps.