<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: PayPal Instant Payment Notification (IPN) PHP Template</title>
	<atom:link href="http://www.usbswiper.com/blog/2008/12/26/paypal-instant-payment-notification-ipn-php-template/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.usbswiper.com/blog/2008/12/26/paypal-instant-payment-notification-ipn-php-template/</link>
	<description>Updated News and Information</description>
	<lastBuildDate>Tue, 15 Jun 2010 06:57:49 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
	<item>
		<title>By: Daniel O</title>
		<link>http://www.usbswiper.com/blog/2008/12/26/paypal-instant-payment-notification-ipn-php-template/comment-page-1/#comment-1718</link>
		<dc:creator>Daniel O</dc:creator>
		<pubDate>Wed, 09 Dec 2009 15:48:18 +0000</pubDate>
		<guid isPermaLink="false">https://www.usbswiper.com/blog/?p=34#comment-1718</guid>
		<description>Hi Andrew,

I downloaded and installed the script in 2 servers because it works (email, database) in the sandbox, but not in real transaction. I get a blank email, and no data entered in database.

When Paypal sends me back to my site, it shows this:
http:www.something.com/ipn-listener.php?tx=8TX21385HY744893F&amp;st=Completed&amp;amt=0.01&amp;cc=USD&amp;cm=&amp;item_number=

IPN is turned on in the paypal configuration and in the botton.
Any help is apreciated, I have been stuck here for days.</description>
		<content:encoded><![CDATA[<p>Hi Andrew,</p>
<p>I downloaded and installed the script in 2 servers because it works (email, database) in the sandbox, but not in real transaction. I get a blank email, and no data entered in database.</p>
<p>When Paypal sends me back to my site, it shows this:<br />
http:www.something.com/ipn-listener.php?tx=8TX21385HY744893F&amp;st=Completed&amp;amt=0.01&amp;cc=USD&amp;cm=&amp;item_number=</p>
<p>IPN is turned on in the paypal configuration and in the botton.<br />
Any help is apreciated, I have been stuck here for days.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrew Angell</title>
		<link>http://www.usbswiper.com/blog/2008/12/26/paypal-instant-payment-notification-ipn-php-template/comment-page-1/#comment-1587</link>
		<dc:creator>Andrew Angell</dc:creator>
		<pubDate>Tue, 24 Nov 2009 02:39:10 +0000</pubDate>
		<guid isPermaLink="false">https://www.usbswiper.com/blog/?p=34#comment-1587</guid>
		<description>The clean install should work just fine on both.  The sandbox orders send a variable called test_ipn and when that variable is present the IPN system works the same except that it highlights the transaction in the admin panel Yellow to show it&#039;s a test order.  

The only thing you need to change anywhere is the /admin/config.php file.  That shouldn&#039;t effect the solution as a whole, though, if it is indeed working in the sandbox.  

Did you ensure that your IPN configuration is setup in your live account profile?  You need to make sure it&#039;s turned on and pointing to the ipn-listener.php file.  

Also, did you just use the basic template or did you install my full solution?  I think I need to update this blog.  I have an installable solution now so if you&#039;re not using that then /admin/config.php won&#039;t be there for you.  Let me know if that&#039;s the case and I&#039;ll get you the full solution.  Actually, you can download it at www.angelleye.com/solutions/Angell_EYE_PayPal_IPN_Solution.zip</description>
		<content:encoded><![CDATA[<p>The clean install should work just fine on both.  The sandbox orders send a variable called test_ipn and when that variable is present the IPN system works the same except that it highlights the transaction in the admin panel Yellow to show it&#8217;s a test order.  </p>
<p>The only thing you need to change anywhere is the /admin/config.php file.  That shouldn&#8217;t effect the solution as a whole, though, if it is indeed working in the sandbox.  </p>
<p>Did you ensure that your IPN configuration is setup in your live account profile?  You need to make sure it&#8217;s turned on and pointing to the ipn-listener.php file.  </p>
<p>Also, did you just use the basic template or did you install my full solution?  I think I need to update this blog.  I have an installable solution now so if you&#8217;re not using that then /admin/config.php won&#8217;t be there for you.  Let me know if that&#8217;s the case and I&#8217;ll get you the full solution.  Actually, you can download it at <a href="http://www.angelleye.com/solutions/Angell_EYE_PayPal_IPN_Solution.zip" rel="nofollow">http://www.angelleye.com/solutions/Angell_EYE_PayPal_IPN_Solution.zip</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel O</title>
		<link>http://www.usbswiper.com/blog/2008/12/26/paypal-instant-payment-notification-ipn-php-template/comment-page-1/#comment-1585</link>
		<dc:creator>Daniel O</dc:creator>
		<pubDate>Mon, 23 Nov 2009 17:39:24 +0000</pubDate>
		<guid isPermaLink="false">https://www.usbswiper.com/blog/?p=34#comment-1585</guid>
		<description>What do I need to do to make it work live?
It works for me on sandbox test, but not with true botons thru paypal site. It does not bring the variables.

1) Do I have to change something at the top of the script?
2) Do I need to change something in my Paypal administration? 

thank you,</description>
		<content:encoded><![CDATA[<p>What do I need to do to make it work live?<br />
It works for me on sandbox test, but not with true botons thru paypal site. It does not bring the variables.</p>
<p>1) Do I have to change something at the top of the script?<br />
2) Do I need to change something in my Paypal administration? </p>
<p>thank you,</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrew Angell</title>
		<link>http://www.usbswiper.com/blog/2008/12/26/paypal-instant-payment-notification-ipn-php-template/comment-page-1/#comment-100</link>
		<dc:creator>Andrew Angell</dc:creator>
		<pubDate>Wed, 03 Jun 2009 00:22:52 +0000</pubDate>
		<guid isPermaLink="false">https://www.usbswiper.com/blog/?p=34#comment-100</guid>
		<description>Hi Mark,

You&#039;re correct.  The database I made for this isn&#039;t normalized and doesn&#039;t follow very good relational database rules.  When I first started developing I was torn between doing it the correct way or doing it how PayPal did it with their minimal IPN solution.  I decided to just go the way PayPal did and make tables for each type of IPN.

The idea here is that each table is a RAW log of what that particular IPN txn_type returned.  Any fields that an order might return are included in the order table.  Any fields a refund might include are in the refund table, etc.  So yes, there are indeed fields that are showing in multiple places but I think it would have ultimately confused more people than helped if I only added each field once and then relied on relationships to connect everything like I do with most my db solutions.

The data is still related, though.  For example, you asked about parent_tx_id.  The refunds table is where that field might come back so that&#039;s where it&#039;s included.  Then if you need to find the original transactions you can easily look it up in the orders table because orders.txn_id = refunds.parent_txn_id.    The same goes for subscriptions and payment history.  When a new subscription is created a record in the subscriptions table is added with the new subscr_id.  Then as each payment comes through they&#039;ll go into subscription_payments with the same subscr_id.  So, while I haven&#039;t included it in the solution yet, it&#039;d be very simple to create links to view only related payments.

So again, while it&#039;s not exactly normalized the relationships do exist so you can find any related data you need.  Hope that helps you understand what I did here a little bit.  I&#039;m with you, I would typically normalize my database first thing but I decided to follow what PayPal did instead and just expand on it.</description>
		<content:encoded><![CDATA[<p>Hi Mark,</p>
<p>You&#8217;re correct.  The database I made for this isn&#8217;t normalized and doesn&#8217;t follow very good relational database rules.  When I first started developing I was torn between doing it the correct way or doing it how PayPal did it with their minimal IPN solution.  I decided to just go the way PayPal did and make tables for each type of IPN.</p>
<p>The idea here is that each table is a RAW log of what that particular IPN txn_type returned.  Any fields that an order might return are included in the order table.  Any fields a refund might include are in the refund table, etc.  So yes, there are indeed fields that are showing in multiple places but I think it would have ultimately confused more people than helped if I only added each field once and then relied on relationships to connect everything like I do with most my db solutions.</p>
<p>The data is still related, though.  For example, you asked about parent_tx_id.  The refunds table is where that field might come back so that&#8217;s where it&#8217;s included.  Then if you need to find the original transactions you can easily look it up in the orders table because orders.txn_id = refunds.parent_txn_id.    The same goes for subscriptions and payment history.  When a new subscription is created a record in the subscriptions table is added with the new subscr_id.  Then as each payment comes through they&#8217;ll go into subscription_payments with the same subscr_id.  So, while I haven&#8217;t included it in the solution yet, it&#8217;d be very simple to create links to view only related payments.</p>
<p>So again, while it&#8217;s not exactly normalized the relationships do exist so you can find any related data you need.  Hope that helps you understand what I did here a little bit.  I&#8217;m with you, I would typically normalize my database first thing but I decided to follow what PayPal did instead and just expand on it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark</title>
		<link>http://www.usbswiper.com/blog/2008/12/26/paypal-instant-payment-notification-ipn-php-template/comment-page-1/#comment-99</link>
		<dc:creator>Mark</dc:creator>
		<pubDate>Tue, 02 Jun 2009 14:39:20 +0000</pubDate>
		<guid isPermaLink="false">https://www.usbswiper.com/blog/?p=34#comment-99</guid>
		<description>Hi Andrew,

I&#039;m not sure I understand your database schema.  For example, why are you putting payer_email in the paypal_disputes table, when you can link paypal_disputes with a txn_id in paypal_orders, which already has payer_email.  Seems like you&#039;re duplicating data needlessly.  Where is parent_txn_id in your database schema?  Wouldn&#039;t you want that to tie the dispute back to the transaction that&#039;s being disputed?  And wouldn&#039;t you want a separate transaction table since one buyer can have multiple transactions?

Confused.</description>
		<content:encoded><![CDATA[<p>Hi Andrew,</p>
<p>I&#8217;m not sure I understand your database schema.  For example, why are you putting payer_email in the paypal_disputes table, when you can link paypal_disputes with a txn_id in paypal_orders, which already has payer_email.  Seems like you&#8217;re duplicating data needlessly.  Where is parent_txn_id in your database schema?  Wouldn&#8217;t you want that to tie the dispute back to the transaction that&#8217;s being disputed?  And wouldn&#8217;t you want a separate transaction table since one buyer can have multiple transactions?</p>
<p>Confused.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rick Weston</title>
		<link>http://www.usbswiper.com/blog/2008/12/26/paypal-instant-payment-notification-ipn-php-template/comment-page-1/#comment-95</link>
		<dc:creator>Rick Weston</dc:creator>
		<pubDate>Fri, 22 May 2009 22:01:17 +0000</pubDate>
		<guid isPermaLink="false">https://www.usbswiper.com/blog/?p=34#comment-95</guid>
		<description>Andrew,

Is there away to make this script post the same IPN info to another script that needs IPN results? I have two sites that need to show payment information from paypal sales and apparently the notify_url setting in the buttons will only allow for one url not two... So I was thinking that maybe I could set the notify url to this script then have it transmit the data to the other two scripts so that my sales info and my affiliate tracking db&#039;s get updated correctly.

Thanks for any help you can provide!</description>
		<content:encoded><![CDATA[<p>Andrew,</p>
<p>Is there away to make this script post the same IPN info to another script that needs IPN results? I have two sites that need to show payment information from paypal sales and apparently the notify_url setting in the buttons will only allow for one url not two&#8230; So I was thinking that maybe I could set the notify url to this script then have it transmit the data to the other two scripts so that my sales info and my affiliate tracking db&#8217;s get updated correctly.</p>
<p>Thanks for any help you can provide!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrew Angell</title>
		<link>http://www.usbswiper.com/blog/2008/12/26/paypal-instant-payment-notification-ipn-php-template/comment-page-1/#comment-89</link>
		<dc:creator>Andrew Angell</dc:creator>
		<pubDate>Wed, 06 May 2009 08:32:43 +0000</pubDate>
		<guid isPermaLink="false">https://www.usbswiper.com/blog/?p=34#comment-89</guid>
		<description>&lt;a href=&quot;https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&amp;content_ID=developer/howto_html_instantpaymentnotif&quot; rel=&quot;nofollow&quot;&gt;How IPN Works&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p><a href="https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&amp;content_ID=developer/howto_html_instantpaymentnotif" rel="nofollow">How IPN Works</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: toy</title>
		<link>http://www.usbswiper.com/blog/2008/12/26/paypal-instant-payment-notification-ipn-php-template/comment-page-1/#comment-87</link>
		<dc:creator>toy</dc:creator>
		<pubDate>Wed, 06 May 2009 02:20:31 +0000</pubDate>
		<guid isPermaLink="false">https://www.usbswiper.com/blog/?p=34#comment-87</guid>
		<description>hey andrew
great code - 

so heres my question
this is my first time with paypal and it looks like IPN is what i want
(ie, when the user checks out and pays 
 a notification is sent to my website 
 and deducts quantities, sums totals etc in the db without a human)

i think my disconnect is
i dont really understand IPN
i mean isnt the web stateless?
could you start from the beginning for this noob
and tell me or show me a link where i can understand the how IPN works?

thanks a bunch</description>
		<content:encoded><![CDATA[<p>hey andrew<br />
great code &#8211; </p>
<p>so heres my question<br />
this is my first time with paypal and it looks like IPN is what i want<br />
(ie, when the user checks out and pays<br />
 a notification is sent to my website<br />
 and deducts quantities, sums totals etc in the db without a human)</p>
<p>i think my disconnect is<br />
i dont really understand IPN<br />
i mean isnt the web stateless?<br />
could you start from the beginning for this noob<br />
and tell me or show me a link where i can understand the how IPN works?</p>
<p>thanks a bunch</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: IG Webs</title>
		<link>http://www.usbswiper.com/blog/2008/12/26/paypal-instant-payment-notification-ipn-php-template/comment-page-1/#comment-83</link>
		<dc:creator>IG Webs</dc:creator>
		<pubDate>Wed, 29 Apr 2009 18:59:02 +0000</pubDate>
		<guid isPermaLink="false">https://www.usbswiper.com/blog/?p=34#comment-83</guid>
		<description>I checked with my host, fsock is on and its on port 80 so I guess that part is OK. Not sure what else it could be!</description>
		<content:encoded><![CDATA[<p>I checked with my host, fsock is on and its on port 80 so I guess that part is OK. Not sure what else it could be!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: IG Webs</title>
		<link>http://www.usbswiper.com/blog/2008/12/26/paypal-instant-payment-notification-ipn-php-template/comment-page-1/#comment-82</link>
		<dc:creator>IG Webs</dc:creator>
		<pubDate>Wed, 29 Apr 2009 12:56:30 +0000</pubDate>
		<guid isPermaLink="false">https://www.usbswiper.com/blog/?p=34#comment-82</guid>
		<description>Thanks for all your help. I am not getting any emails! I guess I could add what you mention but since I am not getting even an admin email, I must have a problem with my php mailer.  Is there a solution for that?</description>
		<content:encoded><![CDATA[<p>Thanks for all your help. I am not getting any emails! I guess I could add what you mention but since I am not getting even an admin email, I must have a problem with my php mailer.  Is there a solution for that?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
