[web] How do you make payments online?

Started by
8 comments, last by nas1982 18 years, 7 months ago
I have a form that takes credit card details. Now I want to send those details to the server. what do I need on the server that will take the parameters and tranfer the cash from the client's bank account to my bank account. there are countless e-shops out there that do this. but I cant find real info on how they built or use such a program. any advice?
Advertisement
You use some service that provide you with a merchant account, and then you call the library they supply you with to talk to their servers. These services typically charge from 2% to 5% of the transaction amount, plus a fee of between $0.20 and $0.80 per transaction, plus (often) a monthly fee in the range from $20 to $80.

An alternative is to support PayPal, in which case they take care of the actual filling-out-the-details part, and you get a "yes/no" back from their servers. However, there are those who think that PayPal is Evil.
enum Bool { True, False, FileNotFound };
I use RegSoft, their interface is quite easy to use, I do not present my customers with my own form though, so I never really see any card information (which I think is good), I dont know if that's a requirement for you.

back in 99 or so I was working for an online casino, and had to code some third party interface to deal with card information, I remember the interface was https, probably most companies providing online card processing over the net use similar stuff.
PayPal has the advantage that it takes a relative small fee of your sales. And, a reasonable amount of customers has a paypal account; however, most customers are hesitant to give their credit card nrs. out to someone they do not know. So i'd say, expect a larger amount of sales if you set up a paypal account and place some 'buy now' buttons near the product you want to sell.
Thanks for your help guys. Ive been offered a solution from my bank that allows to use an interface, so I guess I might use that.

the other thing is, I dont sell a product, its a service so that people get to use the site's features for a monthly/annual subscription fee.

if I take payments from each user monthly, is there a way to make a program that executes at a particular time. can this be done on an mySQL Database.
I hope you really know what you're doing a bit better than this if you're trying to make a critical financial app like this;

MySQL itself does not have a buit-in "cron", however, "cron" does.

I hope that your code is written in a sensible, defensive fashion, specifically with regard to error handling. You don't want to take a payment twice, or forget that you've taken it.

I recommend that you create a payment record with statuses "payment attempted", "payment succeeded", "payment failed" or something.

That way, if something kills your program half way through it taking a payment, those transactions will be stuck in a status of "payment attempted", and another cron job or something will alert you to enable you to reconcile the problems manually.

Personally the biggest nightmare I've found, is if your PSP API fails while taking the money but not returning a proper status so you don't know whether it's succeeded or failed. You need to detect failures, and shout loudly to a human who can manually fix things up.

Mark
Quote:Original post by nas1982
Thanks for your help guys. Ive been offered a solution from my bank that allows to use an interface, so I guess I might use that.

the other thing is, I dont sell a product, its a service so that people get to use the site's features for a monthly/annual subscription fee.

if I take payments from each user monthly, is there a way to make a program that executes at a particular time. can this be done on an mySQL Database.


You need to sign up for a service that offers recurring billing. The last thing you want to do is sign someone up, and then loop through 10,000 registered paying users trying access something like authorize.net to bill them for the current month. That would be insane, to say the least.
thanks LoPing I will do, markr I am a software engineer, I know that I will have to do intensive testing and catch exceptions and log them, if I need to. markr Ive probably got more experience than you.
Handeling credit card payments by yourself requires a tremendous amount of serciving fee's and processing fee's from ANY bank. I looked into this for my own webdevelopment company. I chose another route for now.
what route did you choose ?

This topic is closed to new replies.

Advertisement