StormPay IPN(and other possible payment options)

Hi

I'm conisdering adding payment possibilities to a PHP script I am developing. I think the first way I'll do this will be through StormPay.

I've read somewhere that Stormpay have an IPN system, where they call a script on your server, to confirm that a page has been called.

I can't find any documention on this IPN system, but from what I do know(which isn't an awful lot), Stormpay get a request from my client, they verify details, they send the IPN to a confirmation page on my server, and they they forward the user to my "thank you" page.

Any links on where I can get more information on this would be appreciated.

Also what security precautions would need to be taken regarding this.

I'm aware that CC Card security is taken care of by StormPay's server, but how do I make sure that people don't simply access the confirmation page(the page my server uses to confirm that they've paid) directly, without paying the money to Stormpay? I know I could make sure the IP address calling the page is the one used by the IPN, but can't IP addressed be spoofed?

I know I'm not going to get a 100% secure solution, but I'd like to close up any known security holes, to make it as difficult as possible.

Any information on what alternatives are available besides stormpay(besides paypal), as well as their pros and cons would also be appreciated.

Since this question is in parts, I'll award points for the different parts, if someone answers one part of the question and not another. I'll also add more points if the answer(or any part of the answer) proves to be more complex than I thought, or is merited by 300 points.
LVL 6
aolXFTAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

duzCommented:
aolXFT -

>Any links on where I can get more information on this would be appreciated.

http://www.stormpay.org/link_codes.htm#ipn_variables

Also lots of other information re your other questions on the same page.

>I'd like to close up any known security holes

http://www.stormlockprotector.com/

- duz



0
AsbjornGCommented:
Hi aolXFT,

I don't have any experience using StormPay IPN, but I have made PayPal work successfully in the past.

This is how it works:

- PayPal receives a payment, and makes a request to your server to notify you of the payment.
- Your script receives the notification, does whatever processing is necessary to verify the payment (this can include checking the IP, as well as a secret code that makes it just about impossible to simply make the post to your script directly), and posts back to the PayPal server. This is to verify that the transaction did in fact come from PayPal, and not from a spoofed IP.
- Depending on the reply from the PayPal server you can produce a suitable respose for the user.

This means that your script will make a POST to the PayPal server, which will in turn tell you whether or not the transaction was a real one.

Setting up IPN can be a bit of a headache sometimes, but it is as safe as you can get (I'm talking from PayPal experience, I have no personal experience using Stormpay).

Stormpay doesn't seem to have much documentation on IPN at all, but you can find the PayPal docs at http://www.paypal.com/cgi-bin/webscr?cmd=p/xcl/rec/ipn-intro-outside

As for other processor options, I always recommend 2Checkout (www.2checkout.com). They have a flat 5.5% per transaction fee which may be a bit too high for some, but there are no monthly fees and the only money it will cost you if you don't sell anything is the $49 setup fee.

2Checkout also has advanced options for shopping carts and reasonably safe passback routines that allows you to sell bits and bytes (downloads or memberships).

Whether or not they're right for you is really a matter of preference.

Good luck with whichever solution you end up choosing, it can be a headache but it's all worth it when the money start ticking in :)

Asbjorn

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
aolXFTAuthor Commented:
duz: That page gives information specific to stormpay, but it lacks clear information on the subject. It doesn't give a very clear explanation of the system.

AsbornG: Considering the amount of bad comments I've heard about PayPal and EBay, I was a bit hesitant. Since however I'm not going to be using them myself. This script is for a GPL Project I'm working on - although I might make the payment module a pay-for module(if people are going to be charging for services provided by my script, they might as well fork some money back to me :) ). I probably will write a module for PayPals system.

The nature of the project makes StormLock not-an-option.

Since I'll probably be doing this for more than Stormpay, and since I'm sure stormpays IPN system is similar to Paypals, and paypals is better documented, I think I'll accept Ashborn's answer, with duz's as assisting, if I can find the button to split the points.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Internet Marketing

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.