The API ActiveMerchant uses for this is `purchase(money, credit_card_or_customer_id, options={})`. Basically rather than using a special option, the `purchase` method should see if the second argument `respond_to?(:number)` and use it as a credit card, otherwise use it as a customer id.