In my country the online payments are not an old thing, the first time i saw a web application taking payments directly to a local bank account was last year.
So, Im
I suggest you encrypt card numbers with a strong algorithm( similar AES) and a long secret key.
Then,keep your secret key in a secure place similar an external hard or optical disk. When you need to secret key,use external hard.
If you are using a shared host, you have to store your secret key in an external device.
Strict your database