Forum Moderators: buckworks
What I DON'T need is some fancy shopping cart system, complete CMS with product database, customer account registration system, or whatever. I've got that all working fine. The only thing I have to work out is how to actually process payments.
That is: a customer fills in his CC and personal details, I do *something* to process the payment, and if successful tell the customer "thanks for your order, here's your license: 12345" (I'm selling ESD software products, so no shipping involved, only email/online distribution).
Exactly how do I go about this *something* ? :)
Typically I'd like to send the credit card details to some card processing server (over a secure connection, realtime) which validates the payment and transfers the money to me. Is that indeed the way it works?
Do I need a Merchant Account? (exactly what is that, anyway?)
Can this be done with services like 2CheckOut, Google Checkout, PayPoint.net, Ogone or Worldpay? Or should I use PayPal for this?
Is there a comparison somewhere between these services?
(PS. I realize a lot about this has been written, but I just can't find my way through the overkill of information. If someone can point me in the right direction I'd be very grateful!)
Exactly what does E-Junkie do, or why wouldn't I be better off sending my customers to PayPal/Google Checkout/etc myself?
And moreover, is sending customers to those payment processing sites really necessary? Can't I just have to customer fill in his details at my site, and then send the data (in the background) to a payment service provider, and show the results realtime without the customer having to step through external pages?
You really need to think about protecting your digital goods, they are going to have to be stored somewhere. Giving a customer the true location of your download is opening to door to having your goods stolen.
If you use E-Junkie, the whole process will be automated requiring no invlovement from you. Make money while you sleep! (i seem to remember reading that somewhere once...)
@Stu_Foster: product protection is not an issue, in fact the download is free. It's the license number that they're paying for, and this is uniquely generated per customer.
But again, exactly what does E-Junkie do for me? What's the big difference between having to communicate with E-Junkie or directly to PayPal, I mean I need to do *something* when a customer places an order :)
(generating the license number he just purchased, for example)
Or does E-Junkie completely handle the distribution of my products to customers? (is that what you meant with a 24/48hour download link?)
Cause in that case I don't really think it's what I need. I just need a payment service provider to which I can send payment data (credit card number and such) and get back either success or failure.
Can't I just have to customer fill in his details at my site, and then send the data (in the background) to a payment service provider, and show the results realtime without the customer having to step through external pages?
It looks like you're looking for a simple slam dunk solution, but to answer this question, YES, this can be done. It's just not that simple.
If you go with payPal, their paymentsPro (? think that's what it's called these days) is a repackage of the payFlowPro system, which does this.
What you are looking for is generally referred to as a silent post. Your script uses the program curl or some other method and posts the data to the processor, and waits for the result. Depending on the result, you take appropriate action, and return the result to the browser. Customer never leaves your site.
Another aspect of this scenario which you probably haven't considered- this completely releases you from the need to store CC information, thus you don't need to worry about PCI compliance.
There is also a method called IPN. With this method, you do send the customer to the payPal site, but if it's done gracefully, they are easily redirected back to your site. Another advantage with IPN is the email with the key is not sent until the transaction is actually completed. In the case of an eCheck, this can be up to three days later.
You perform the transaction, when it clears, payPal's IPN sends a token back to your site. You have a "listener" script that listens for these tokens and takes actions accordingly (transaction failed, or successful.)
I know this might all be a bit vague, but have programmed several of these for digital products, to a programmer it's not that difficult.
When using PayPal IPN, I assume I have to submit two URLs: one to return to right after the customer filled in his payment details at paypal.com, and another (the 'listener script') which PayPal will call later with the definitive payment results (which ideally would be very shortly after the payment, but can take longer in case of e.g. eChecks).
I send the actual products upon receiving an OK from PayPal at the listening script, not immediately when the customer returns. Is that correct?
Even though I'm still waiting for PayPal's confirmation at the listener script, can I already tell the user "order successful" or "order failed, please try again" at the return page?
I do have some experience with Bibit, which works pretty much like the 'silent post' system. Never programmed anything with it myself but I know it works this way. I'm also interested in Ogone, as they seem to offer similar services but a bit more flexible.
Does anyone have experience with Ogone?
When using PayPal IPN, I assume I have to submit two URLs:.....
Well, yes, and no, not really. :-)
I say "yes and no" because you still want a "return to site URL" in the submitted payPal variables, but you don't need it to do anything more than display a thank you page with a printable copy of the order. The listener script does the rest of the work.
In your payPal account, you set up IPN, and when you do that, you enter the "IPN URL" directly into the account. (It's been a while since I did this, these specifics may be inaccurate.) So **THIS** is where your "second URL" is entered - in the IPN area of your payPal account.
The payPal developer area has sample code in multiple scripting languages.
Not really. I don't buy a lot of software online, but I've only run across a handful of services that handle all this for you. Your search does not have to be exhaustive... just gather your requirements, add to cart, review the store's FAQ, and ask questions. You can roll-your-own if you have the inclination, time, etc. Personally, I don't see writing software as a good use of my time -- unless I wanted to be paid for being a software developer.