I need so help on what would be the best way to handle user registration with selecting a subscription or without. The user can click register and sign up, or they might have selected a plan(saved to a cookie) and on registration that cookie is used to create a plan for the user.
But all payments are handled on the authenticated side of things. There is no payment or check out prior to registration.
Terms of Use prohibit the usage of Stripe / Braintree Cashier Integration, so this is not an option.
And a user might have "ads" so I am wondering on the relationship for this. I have:
User->hasMany->Ad (user might post sever ads in different categories)
Ad->hasMany->Subscription (might have a basic plan, and also an add on for extra something)
Subscription->belongsTo->Plan (plan_a, premuim, basic plans)
Any insight / ideas how to handle this would be greatly appreciated.
For the ads part, I don't really understand what you mean.
Here is my take on the registration flow:
Why not have a free version. So user can sign up without having to pay for anything. Then if you want to upgrade, well you can upgrade then.
OR
Integrate the subscription plan on your sign up form. No need to use cookie. It is in your form data. Once the latter is posted, you register the user, then you login the user and redirect them to payment. Have a paid flag on the user which is updated once the user has paid.