I think you are approaching this too much from the "multi step form" angle.
Think of it from the database angle.
-
User should be able to login. So what do you need? A users table to hold all users that can login. To fill that users table you need a registration (which is the same thing laravel already has basically).
-
Users can have ads. Cool. So you probably need an ads table and a step to get an entry in that ads table for a user. Now you see: If you have an entry in the users table AND in the ads table he has at least finished step 2.
-
Users need to pay. Probably you need to record those payments, see what has happened, maybe give them invoices and stuff. So you might need a payments table. And there you have it: if you have a users entry that has an ads entry that has a payments entry you have an active user.
Now if you don't want your user to be able to login until he has done all that you can have something like "active" in your users table and add that as a condition for a login and once the payment is finished you set that to "true".
So don't base everything around a "multi step form" - that's just presentation. You could have the same process in a one step form or without any form at all. Think of what data you need and then find a way to get that data that makes sense to the user.