To store sensitive information like credit card information on your database, you would need to go through PCI certification. This is a costly and timely procedure, so I wouldn't recommend it. The easiest way to workaround this issue it to just check on the add to cart page if the product is going to be unable to ship currently and notify the user on the add to cart page. Then you could have a button that would forward them to a mailing list (instead of the add to cart button) to notify them when the product would be available for shipping.