Payments

Please review my implementation of payments via integration with Stripe.

In particular a deviation is my use of transaction to wrap the user create, so that if there is a payment problem after the user has been created, that I can rely on a transaction rollback and not create the user.