Hmm.. this looks like a nice case for making a method to payment_gateway which checks if all needed params are present.. I could add it if I have time today.. but first I'll check through the rest..