I have built a shopping cart and have reached the point where I need to create the payment page. At the moment I have a checkout page with all the customers details i.e name, address etc, credit card details, order total, product name etc as fields in an form. It is at this point that I am not sure what happens next. I am using a windows server (www.7host.com) with an MS Access database. I would be grateful if some one could explain to me exactly how I use the variables to take the payment and also how the information is sent back from the bank once the order has been processed. I have read a few articles, but they just don't give you the actual practical steps involved with the asp pages/database, instead they mention payment gateways /merchant accounts in general. It would really help me if someone could explain this one.
There are basically two ways to take credit cards online. One is where the customer never leaves your site and you program all of the server-to-server communication required for the transaction. Authorizenet calls this their "direct response" system. You'll need a component (DLL) to get this stuff working.
The other kind is where you can forward the customer to the payment processor's site and after they pay, they get sent back to your website, probably with some querystring fields indicating the result of transaction. (or maybe a server-to-server call initiated by the payment processor, not you)
AuthorizeNet doesn't explicitly offer you a component (last I saw), which is not to say that you couldn't get one. (Many will work WinHTTP, Softwing.asptear, msXML)
Although, guys like PlugNPay have a nice system already build with cut'n'paste code and easy DLL registration..
AuthorizeNet simply uses name/value pairs all lumped together in one big string. "CardNum=1234345345&Name=Bob%20Smith&City=Miami" sorta thing. They send data back to you the same way. "Result=true&ErrCode=blah" You have to split() the string and break it up.
Other companies simply give you a property to reference.
objTransaction.CardNum = "234298349823"
result = objTrransaction.Result