ActiveMerchant / ARB Code Advice

Would anyone with some experience at best practices with getting
recurring billing working be willing to look at my code and perhaps
point out how to improve and get my validations and objects going in
the right order? What I have written works fine except for saving the
user_id to the subscriptions table, but if something isn’t entered
right, it all blows up. I just can’t wrap my head around the logic I
guess for correctly running this stuff…

My Code:

Any guidance would be appreciated!