You can create a page with a form on it, collect the customers info for a subscription, and let your gateway deal with it. Stripe works this way. There is no way you're ever going to get a customer's full credit card number from Shopify. That is due to PCI compliance.
You may want to look at automating your subscriptions using something like http://recurly.com/ or http://chargify.com/. You can embed the subscription product to make this seamless.