I'd highly recommend against storing any card details. It can only go to cause problems. PCI DSS compliance is not just about the server security but even physical security. The premises will need to be highly secure and adhere to compliance levels as well as external locations for backups etc. Everything would need to be encrypted in storage and in transit and then even if you do meet those levels there is always a chance of having something stolen and then you'd be in a LOT of trouble so your insurance would go through the roof too. It really isn't worth it.
If you're using a service such as Spreedly Core then they provide a Vault which allows you to retain credit card details for re-use next time via a secure token based system. This puts the responsibility firmly on their shoulders then and is a much better way.
Using Spreedly Core you can then also allow the user to choose their gateway so you can setup a gateway for accepting credit cards and also one for accepting direct debit payments and allow the user to choose or to specify yourself.
Alternatively if you wanted to setup a credit card gateway and then a direct debit gateway individually then that's possible in Store too. GoCardless is a good direct debit gateway if you're UK based and I'd recommend Dwolla if you're US based. The GoCardless gateway is already provided as part of store so you can use that out of the box.