I'm building a subscription-based website that needs to accept recurring payments. The concept is much like that of Netflix, but there is also a variation between the two.
- When a user attempts to sign up, ask for their credit card info and check to see if the CC is valid. Also make sure no credit card is linked to more than one user, so there will be a one-to-one mapping between a username and a credit card (one-to-many is fine too). If a new user attempts to register a CC that's already been stored, the registration fails.
- Give the user a 30-day trial period. Do not charge them if they don't want to continue their service
- Otherwise charge them
How could I achieve this? Is looking up credit card data to see if it's already on the system considered OK? I've been researching PayPal and Authorize.net, but I'm still not sure if I can do all the things above using a third-party gateway.
Also, does checking credit card validity (not talking about algorithmic checking) cost money? I don't want to pay whenever a spammer or a bot attempts to register an invalid card. This might be extremely costly.
I'm willing to go through PCI compliance scrutiny.