Missing IPN Messages - paypal

I am trying to handle Paypal IPN Messages being sent and processed by some Zapier zaps. But my issue has to do with the fact that I have a discrepancy between my downloaded transactions (from the Reports/Activity area) and the IPN history list.
I have 100's of IPN messages but they seem incomplete. I have a series of Tx ID's that appear in my activity download but do not have IPN entries corresponding to them. Is that possible?
Yes, they are all within the 28 day limit. I have 100's coming thru fine but then there are a bunch that are simply missing. Here are a list of various TX ID's that are missing from my IPN History:
1T067375AA633440U
8K138709R6731541F
3FP842931V7991231
93Y792144G594840E
0WN7539065955103H
20G90671C4171301X
3KK30383WF576573M
6XU56496HG8548825
6FX65228CG614502E
Appreciate any help.

Related

Ecommerce hits not showing in Google Analytics Measurement Protocol

Because I accept PayPal payments on my website, I'm trying to use the Measurement Protocol to send transaction details server-side. Visitors who use PayPal to pay often don't return to my website to view the order confirmation page, so relying on IPN instead is a more reliable way of recording transactions.
I've been able to successfully record Event hits with the Measurement Protocol, but although my Ecommerce (plain ecom, not enhanced) hits validate through the debugger, they are not showing up in any of my GA reports, even a day or two after the transaction is completed. Yes, I've verified that Ecommerce (but not enhanced ecommerce) is enabled in Analytics.
Example requests, with tid and cid redacted (they are correct in the actual calls):
The ecommerce transaction:
https://www.google-analytics.com/collect?v=1&t=transaction&tid=UA-XXXXXXXX-1&cid=XXXXXXXX&ti=20D95105S1786425X&tr=50.00&cu=USD&ds=web
The ecommerce item (there is always exactly 1; the items are donations and my site doesn't allow multiple donations in 1 transaction):
https://www.google-analytics.com/debug/collect?v=1&t=item&tid=UA-XXXXXXXX-1&cid=XXXXXXXX&ti=20D95105S1786425X&in=giveNow&ip=50.00&iq=1&iv=Onetime&cu=USD&ds=web
The event hit, which does work:
https://www.google-analytics.com/debug/collect?v=1&t=event&tid=UA-XXXXXXXX-1&cid=XXXXXXXX&ec=donate&ea=Onetime&el=giveNow&ev=50.00&ta=StMU&ds=web
All three hits are sent successively, with the Event hit being the last call. Any suggestions for further debugging are welcome!
Finally solved it: I'd been debugging for so long that I was actually sending all the calls to the debugger (https://www.google-analytics.com/debug/collect) instead of the Production URL (https://www.google-analytics.com/collect).

Not receiving payment_status = Completed

I have setup a php script to work with the paypal IPN. Overall things work, but I'm not getting some of the variables the documentation says I will be receiving:
https://developer.paypal.com/webapps/developer/docs/classic/ipn/integration-guide/IPNIntro/#protocol_and_arch
Most notably I'm not getting anything returned for Payment_status which it says should be returned as Completed.
I'm doing a monthly or yearly recurring payment option with a free one month trial. I'm wondering if this could be the culprit? If it is, what else can I do to verify the user has in fact completed the process of supplying payment information properly to paypal to start the trial period? I can't find any variable in the set that identifies this (as opposed to a declined transaction, or a subscription cancellation, or a totally faked entry).
Also, it's not anywhere near as important; but i'm not getting back a transaction id (txn_id), and the referenced variable mc_gross is also missing. Although it is giving me the monthly renewal rate in a variable called mc_amount3.
Lastly, is there a listing of what the possible results are for each possible variable somewhere? For instance, I randomly get back subscription period as "period3 = 1 M", which I assume means 1 Month. But how am I supposed to know what the other options are? Would a year renewal be 1 Y? Or something else entirely?
A little frustrated right now so I'd appreciate it if anyone who had similar issues can provide some insight.
Well, after a couple days I finally ponied up for a tech support call to paypal. The lady literally knew less than I did which was disappointing. I still, can't get a direct answer on why I'm not seeing the same variables their basic setup page states I should be looking for.
However, after another couple days of looking i at least found the IPN variable reference guide buried DEEP in the paypal help pages.
Thought I'd post the link in case anyone comes across this page looking for similar answers:
https://developer.paypal.com/webapps/developer/docs/classic/ipn/integration-guide/IPNandPDTVariables/

PayPal payment to issue activation code

I have just created my first PayPal button and it is working correctly within sand box. I would like to know the best way (if possible) to issue a unique activation code on my return url ensuring that the user has definitely paid before they receive the code. I could manually email the code but wondered if the was any way of automating this using some sort of return value? Possibly returning to an aspx page which then reads from my database to get the next activation key and displays it?
Thanks
Garry
As you already know that PayPal doesn't provide such facility for delivering activation instantly but it does offer the Instant Payment Notification API (PayPal IPN) which can be used to build such a platform.
Here is a great article for that purpose only. https://www.codeproject.com/Articles/383207/Selling-software-using-PayPal-IPN-as-an-eCommerceenter link description here
The best way to handle that would be to use Instant Payment Notification (IPN).
Any time a transaction happens on your site (whether it's a payment, refund, cleared pending payment, dispute, etc.) the PayPal server will POST details about that transaction to a script you have sitting on your server.
This script can receive the data and process it accordingly allowing you to automate things like updating a database, generating email notifications, hitting 3rd party web services, delivering e-goods, etc.
If you want the activation code to be visible on the return URL you can look at Payment Data Transfer (PDT), which is just like IPN except that it's made for use with the return URL. It is not recommended to use this, though, for post-transaction processing because there is no guarantee the user will make it back to the return URL, for one, and also it wouldn't handle things like e-checks correctly.

IPNs getting sent a URL that is no longer available

I run a subscription based website, which was going great until the developer of the subscription component I used ceased development.
Due to my lack of knowledge of programing a solution to set up something to catch the exisiting IPNs and convert them into something my new subscription component could manage, I simply manually added new subscriptions into the new subscription component, and kept a manual log of when subscriptions had been cancelled from Paypal's end, then altered the entries accordingly.
This was fine as the defunt subscription component still recieved the IPNs and sent back the correct notification to Paypal, and I kept an eye on things.
Now we have upgraded our security and moved to a new server, and the old subscription component has been marked as being vunerable, so moving it over also to keep this system I have going is no longer viable, and I am getting warnings from Paypal about IPNs not being recieved properly.
What should I do about this?
I can't turn of IPNs because my new subscription component uses them (perfectly).
Is this something a developer could look at and fix for me? I simply want the subscription IPNs from the old system to be recieved somehow (I am totally happy keeping things running manually on my side for older subscriptions).
Is there a way to turn off IPN notifications for just the subscriptions that are trying to send to a paricular URL?
Is there an easier sollution?
Any help would be muchly appreciated, I am worried that my IPNs will get turned off all together which would end up being a lot more work for me!
Kind Thanks,
Thomas
You cannot modify the IPN notification URL that are sent to your old subscriptions.
If you want to stop receiving notifications on your old subscriptions you need to cancel the old subscriptions and create a new/similar one.

IPN Delivery Failed:I/O error

been trying to wrap my head around an issue I have with the IPN tester, not 100% sure if its my hosting company's problem or Paypal Developer 'beta' to be honest but my IPN's have worked fine on a few sites I have for atleast a year and now it doesn't on any of them. I've not changed anything and now im getting
IPN Delivery Failed:I/O error: www.mywebsitesname.co.uk; nested exception is java.net.UnknownHostException: www.mywebsitesname.co.uk
and none of my NotifyUrl.ashx handlers are working.
any ideas what this actually means in english? any more info. from me required to help you diagnose my issue?
#
AS AN UPDATE (27-08-2013), I thought I would try out the original C# SDK sample code from Paypal that I used to set up my IPN's with about a year or three ago (ie. it worked great with the IPN simulator). I have put it onto two different hosting companies servers to check its not an issue with a particular hosting server and my results using the IPN Simulator show "error 500: internal server error" for one and "IPN Delivery Failed:I/O error: www.ang##########.co.uk; nested exception is java.net.UnknownHostException: www.ang############.co.uk".
In short, I have the same identical sample file from Paypal (that used to work) in the root of each hosting companies servers and im using the same IPN simulator settings, with the exception of the IPN handler URL has the webaddress of the server followed by '/Handler.ashx' (which is the handler file) but i'm getting different errors.
Also to make this a bit more interesting, today I correctly received an IPN from Paypal to one of the same hosting server webaddress, with a 'transaction_subject : PayPal money request from xxxxxxxx' which was received and processed by my existing IPN handler (not the sample one from Paypal) and returned the correct info. to receive 'IPN Response: VERIFIED DateTime: 27-08-2013 19:05' so this got through and worked fine.
So in conclusion, I wonder if Paypal have either changed something and not informed the community or have an issue with their IPN simulator / CART IPN. If anyone can help or if a Paypal support engineer would like to work with me to try out some code, etc, please get back to me as I will keep trying to solve this but to be honest I see not what else I can do from my end as I've seen working IPN and a non working IPN simulator.
As extra info. here is an IPN Message as from my sandbox seller test account, that can't get through to my IPN handler on one of the same hosting servers (returns error 500) yet this used to get through and nothing has changed.
'mc_gross=2.75&protection_eligibility=Ineligible&address_status=confirmed&item_number1=BabyGrow2&payer_id=KHJGBQZNAFB7L&tax=0.00&address_street=1 Main St&payment_date=14:34:07 Aug 27, 2013 PDT&payment_status=Pending&charset=windows-1252&address_zip=95131&mc_shipping=0.00&mc_handling=0.00&first_name=Test&mc_fee=0.28&address_country_code=US&address_name=Test Buyer&notify_version=3.7&custom=1csi4t45gy4gkz45r5r4t0ey&payer_status=verified&business=wow####gmail.com&address_country=United States&num_cart_items=1&mc_handling1=0.00&address_city=San Jose&verify_sign=AFcWxV21C7fd0v3bYYYRCpSSRl31A1fBAmiE5lcDRsQKQNaqoyQI7ucQ&payer_email=wow#######gmail.com&mc_shipping1=0.00&tax1=0.00&txn_id=8SG98957G0030294Y&payment_type=instant&last_name=Buyer&address_state=CA&item_name1=Baby Grow Age 0 - 1&receiver_email=wow#########gmail.com&payment_fee=&quantity1=1&receiver_id=8QRMB3QFHCL56&pending_reason=paymentreview&txn_type=cart&mc_gross_1=2.75&mc_currency=GBP&residence_country=US&test_ipn=1&transaction_subject=1csi4t45gy4gkz45r5r4t0ey&payment_gross=&ipn_track_id=7b4507c8c4313'
Still hoping we can resolve this soon.
Many Thanks.
Trev.
Asp.net / C# / HTML / CSS3