make sure that you have specified the correct SMTP server to use for your host. If you are not sure that to use, you should contact the host for details on this.
Make sure that support sending emails using the php mail function through php scripts, and ask them if they have a sample script to use, this will help determine the correct settings to use.
One key setting are to make sure that the From Address is a valid email address for the domain. If you are sure it is set right, but the email is not coming through, then you will need to contact the host to have them look into the error logs for the smtp server to see why the email is not being relayed.
Credit card information should never be stored in your database, even in an encrypted format, this I cannot help with.