How Does PayPal IPN Work?

If you've looked at the activation method for IPN, you'll know that it's by entering a default IPN URL into your PayPal profile. PayPal's logic must be that if you want to use IPN, then you must have at least one site with a script that uses it. I think this then is why the confusion arises, and I too was confused a few years ago when I first used an IPN script and wanted to accept PayPal payments on several sites. I thought that if there was only one IPN URL, then I could only use PayPal with one site. Seemed logical to me, and I think to most other people too judging by the questions asked. The truth is, as I mentioned above, it's just a default URL and not the only one you can use. [more...]

I’ve had lots of questions recently about PayPal IPN (Instant Payment Notification), both from SmartDD and Nickel Script customers. The recurring theme is how can IPN work on several sites?

If you’ve looked at the activation method for IPN, you’ll know that it’s by entering a default IPN URL into your PayPal profile. PayPal’s logic must be that if you want to use IPN, then you must have at least one site with a script that uses it.

I think this then is why the confusion arises, and I too was confused a few years ago when I first used an IPN script and wanted to accept PayPal payments on several sites. I thought that if there was only one IPN URL, then I could only use PayPal with one site.

Seemed logical to me, and I think to most other people too judging by the questions asked.

The truth is, as I mentioned above, it’s just a default URL and not the only one you can use.

When you have two sites that you want to use IPN with, just choose one and use that scripts IPN URL. Then when a payment comes in on the other site, the default IPN URL gets temporarily overridden by that second sites IPN settings.

It works by a setting sent in the POST message sent to PayPal. Inside there is the IPN URL that PayPal is to use for that transaction only. When payment is complete, PayPal sends the transaction data back to the site that initiated the transaction, and not to the default site.

Okay?

So why does SmartDD require that you use the SmartDD IPN URL as the default one? Well the truth is it doesn’t, you can use any IPN URL for any script on any site you have.

The problem has always arisen though that if you’re using an auction site like eBay and selling goods on there (SmartDD v2 and above supports physical goods too), there’s no way to tell SmartDD how to handle the PayPal payment and transaction.

By setting the default IPN URL to point to your SmartDD installation, PayPal will send all the transaction data to SmartDD. As long as you have the title of your eBay listing also identically matched within SmartDD, that will trigger the SmartDD process and automatically send emails to your customer, and record all details of the transaction and your new customer within the SmartDD database.

And with the soon to be released version 3, you can also have CDs or DVDs created and automatically shipped to your customer without you having to do a thing. UPDATE – v3 is now out and supports the sale of physical goods as well as Kunaki.com to have your CDs and DVDs drop shipped to your customers.

-Frank Haywood

Posted by Frank Haywood

7 comments

GCox@Online Productivity Tips

Hi Frank

The whole paypal ipn thing has always baffled me so thanks for the explanation.

Love the fact v3 will automate the whole CD/DVD delivery by tying in with Kunaki etc. Can’t wait to check it out.

Cheers…Graham

Good explanation, Frank, although I was expecting a joke (Q: How does PayPal IPN work? A: It doesn’t!) 😉

Gareth@creative publishing

You would have thought that since Ebay now owns Paypal they would have taken the trouble to implement a more elegant solution but I suppose it is another case of “If it ain’t broke, don’t fix it”.

Can hardly wait for version 3, that is going to make such a difference to so many people. We can all moan about Ebay decision to ban digital downloads, but thankfully most of us in the UK have the ability to adapt. In some third world countries, like India, the decision really did end livelihoods. The postage costs from places like that to their customers in the US were to expensive for them to transfer their data to physical discs to sell. It always seems to be those that can least afford it that are hardest hit.

More power to you Frank, you probably do not even appreciate the many ways your products and services are changing people’s lives for the better.

Best wishes
Gareth

David from the Jewelry Appraisal Center

Nice to know Frank but you didn’t explain what has to go into OTHER Paypal buttons to override the IPN Default.

Is there some custom code which has to be added to the Paypal button?

Frank Haywood

David:

IPN isn’t as simple as that.

You need a script to handle the data that PayPal sends via the POST such as SmartDD.

Just a simple PayPal button isn’t capable of doing that.

-Frank

Hashim Kamal

I like that joke Nathan 🙂

Chris Copland

Dear Frank

I have just downloaded and implimented your free version..
Thanks, Thanks, and Thanks Again.

So in the spirit of giving something back I hope this helps some of your users I know you totally understand the whole ipn thing but us lesser mortals need it spelled out for us I hope by putting it in my words those who like me get a headache at any mention of “Script”
can finaly get a handle on this.

REGARDING THIS Paypal IPN Questions I hope I can contribute something to other readers and users.

Sorry if this is a bit long winded..Here goes
I have both digital and physical products that I need to deliver to my customers using the same paypal account

If You switch on Paypal IPN and use the script URL for smartdd
example http://www.yourdomain.com/smartdd/paypalipn.php

For the products listed in Smartdd

But you also have other products with other buttons in your my saved buttons page

Just insert the following line of code to “Any” button code on any other of your sites using the same paypal account that has products not listed in smartdd

to “Passover” the ipn set in that particular paypal account.

And it does not have to be an ipn script it can just be the url
of the site the product is on.

This will still passover the set IPN on your site and prevent smartdd from any irregular messages