Active Merchant seems like a nice gem for payments. However, I need the ability to save a customer's payment information and then charge the card at a later date (ie, at time of shipping not at time of order placement).
Both Braintree and Stripe have a way to do this by giving me a customer id to save to my db. Then I would use this id to charge the customer at some date.
I looked through Active Merchant Stripe code, and its purchase()
has comments:
# To create a charge on a customer, call
# purchase(money, nil, { :customer => id, ... })
Which seems like there's a way to get a customer id.
How do I get Active Merchant to create a customer object and return the customer id for Stripe and Braintree? And is this feature supported in activemerchant for all gateways that support this payment method?