Hi,
I'm developing a Web site that will provide a service to customers for a monthly credit card subscription payment. I'm having great trouble finding a method for collecting subscription fees. I'd like to describe what I learned, and see if anyone has suggestions for me.
I originally thought I would use PayPal. The advantage is that they have an API that reports all payments, failed payments, subscription cancellations, etc. Their rates are very reasonble. A minor disadvantage is that, although you don't have to be a PayPal member to pay with a credit card, you *do have to be a PayPal member to establish *subscription payments. A potentially huge disadvantage, that scares me out of using PayPal, is that their developer forum is filled with messages reporting that PayPal's payment notification system is always failing. Very bad.
So I contacted my bank, USBank. They provide a software called VirtualMerchant, from Nova. Their fees are only slightly more expensive than PayPal's, and you don't have to be a member of anything to establish a subscription. But there are big disadvantages: VirtualMerchant can notify my server of acceptance of an initial payment, but in order to establish a subscription, a human operator has to log the subscription into their software. Then, for the following month's payment, there is no automatic notification to my server that the payment has gone through. So a human has to check to see that the payment succeeded. What if you had to do this for a thousand accounts every month? Or twenty thousand?! Paypal, on the other hand, does provide automatic notification to my server for every monthly payment (when their notification system is working).
Since there were problems with my bank's software, I contacted a couple of "gateways", Authorize.net and TrustCommerce.com. They also have simple API's to use in programming the Web site, and they will allow me to establish a subscription payment without operator intervention, but like my bank's VirtualMerchant, you don't know whether next month's payment went through without checking yourself. Further, when you use a "gateway", you still need a merchant credit card account with your bank. So, for every transaction, you get charged a transaction fee by the gateway, plus about 3% by the gateway, plus another 3% by your bank, plus a transaction fee by your bank. If the subscription is cheap, $5 per month or so, that can add up to 18% in transaction fees!!
Since my bank's VirtualMerchant software looks very good and automated for one-time payments, I asked my banker why I couldn't just keep an MD5 encryption of the customer's credit card info, and re-submit it every month, thus handling the subscription aspect myself. No non-encrypted credit card information would ever be written to disk. The banker just about had a cow. Was he right to have a cow?
Does anyone have suggestions for me? Thanks.
/SD
Start Free Trial