Added ability to pass in payment intent
Support for future payments
Combined prepareForPayment with setEnvironment