Duplicate IPN on profile cancel - paypal

I'm having an issue where Paypal sends a duplicate 'recurring_payment_profile_cancel' type IPN when a user cancels a subscription. If I initiate the cancellation via Express checkout NVP I only get one IPN, but if the user cancels from his Paypal account dashboard I get two near identical messages, both get a 200 response code and no retries so it doesn't look like a problem on my end.
This happens to me both on Sandbox and Live environments.
Is this normal? a bug? or something I could avoid?

Paypal mts confirmed this was a bug and rolled out a fix, this has been fortunately solved.
Thanks.

Related

Paypal IPN not firing?

I have a question about Paypal IPN, I was wondering when does the IPN activate and send it's message to my website.
I currently have my website that has a buy button. When the client buy the service, he is directed to paypal. Once he pay the service, nothing happen. In order for me to receive the IPN notification, the user has to click "Return to merchant website" or whatever the link is, then I receive the IPN notification.
Is it normal, does it work like that for everyone?
Cause right now, most people when they are done with the payment, just close the website and I don't receive any notification.
Thanks for any help !
Your question leaves a lot of missing information so I will go through each option for you:
Read here about how to setup a sandbox account if you don't already have one: https://developer.paypal.com/docs/classic/lifecycle/sb_create-accounts/
Bare in mind that your sandbox account is entirely separate in every way from your live paypal account. All settings will need to be checked and customised as needed.
Set up your IPN URL on your sandbox account Here: https://www.sandbox.paypal.com/uk/cgi-bin/webscr?cmd=_profile-ipn-notify
Once set up, you then need to download and set your code (PHP or something else) to the listener (referenced in the above sandbox profile link). You can find IPN code examples here: https://github.com/paypal/ipn-code-samples
When that's all set you need to set your listener to using the sandbox mode and then log in to your live account and then run the IPN simulator from here: https://developer.paypal.com/developer/ipnSimulator/
Paypal will send messages to your IPN listener and you need to do something with the messages, typically output them into some sort of log file. Any issues, you can read Paypals feedback and IPN data/delivery information here https://www.sandbox.paypal.com/uk/cgi-bin/webscr?cmd=_display-ipns-history&nav=0.3.4 [Found from History->ipnHistory on the Paypal menu] and it should list them out. You can resend any failed or queued or undelivered messages.
Paypal is a terribly documented and terribly structured system for coding with. I hate it. Use Stripe.
I love bullet points.
Paypal claims they will try and resend failed/queued IPNs 16 times over 5 days. I have yet to see this, you need to resend them manually (at least, sandbox ones)
Please remember all the settings and changes you have made to your Sandbox account will need to be also made to your live account before you make your payment system live!
Solution
My return_URL is the location of my IPN.php file which take care of the data sent and received. My problem is that the IPN is only firing when I click the "Return to merchant website" and not when the payment is actually completed
What you have done, from reading your comments, is set your IPN page to being your return from paypal page, this is NOT the way IPN is supposed to work, the IPN page should never be visited by the customer, only ever by Paypal.
Read through my anwser (points 2,3,4) and set up your IPN web link as I have described above, your return_url value should be a basic page to say to the customer "transaction complete". The IPN page is defined on your paypal accounts (sandbox and live) as I stated above.
This will fix your problem.

Paypal notify url not working showing latest delivery date in 1985?

We are having some problems with paypal:
Notify url and status appears empty in the message details page.
The retry date on the ipn message appears in 1985:
What can we do to fix this, besides get back in time to catch that retry?
Overview:
We use basic payments
We use the notify_url param from a php redirection
it worked perfectly on sandbox and live, until you updated
The paypal ipn transaction shows the correct custom parameter
Server side:
Php + custom framework.
There are currently some issues with IPN, that are being addressed that should resolve this issue once they are fixed. If you would like to be notified once the issue is resolved, you can open up a ticket with PayPal Merchant Technical Support.
user1214454: I have the same problem which I have described here:
https://stackoverflow.com/questions/16174275/why-paypal-does-not-call-my-notify-url-but-on-sandbox-everything-works
I have contacted with PayPal but they said that paypal are sending the IPN messages to my IPN, but they are not being accepted by my IPN, what I think is not true, because when request hit my server e-mail is generated by my script and I know if something hit my server. Besides, as I said in my post in sandbox everything works as expected. I am really frustrated too because my bussiness depends on this.

PayPal IPN History Page Bug (Resend Messages Not Working)

I use Zapier to send PayPal IPN messages to Freshbooks to create new clients from a sale.
A few seconds earlier Zapier sends a message from my Wufoo order forms to create a new invoice (I then link them up manually after in Freshbooks).
Wufoo hijacks the Freshbooks API and my Zapier 'Zaps' from PayPal to Freshbooks fail.
I get around this by going to PayPal IPN history once per day and resending the IPN messages making the Zaps successful.
This is not too much trouble for me.
However, for the past 2 weeks or so the resend message on the PayPal IPN history page has not been working. It says successful but does not add the usual '(resent)' items to the history list and nothing is being sent to Zapier.
Is there a known issue with IPN history at the moment? Anything else I can do or just have to wait for PayPal to fix it?
Cheers,
P.
Yes, this is a known issue as I have had the same problems for the last couple of weeks. I sent a trouble ticket to Paypal and received the following response: "Thank you for contacting PayPal Merchant Technical Services. We are aware of this issue and we are working to resolve it.
I will research this matter further and update you with more information as it becomes available."
That was 4/13. I sent another message today asking for an update, but have not yet received a response.
Hope this helps.
After pestering tech support some more I got this answer:
"the update for the History is planed for next week."

How to recreate the IPN from PayPal?

We had an error in one of our scripts and even if the notify_url from PayPal was called properly, our system was not able to record it since it had errors.
Therefore we have several transactions in PayPal that were not added to our Data Base, is there any way to recreate PayPal's IPN or re-execute the notify_url for each transaction?
Thanks!
FYI: we are using Website Payments Standard.
Go into your PayPal profile, then into Instant Payment Notification Preferences. You'll see a link there for IPN history. You can see all of the IPN's that have been sent by PayPal to your system and their status. You can select IPN's from this history list resend them as needed so your system can process them accordingly.

Paypal does not Call IPN Script when payment is made from paypal.co.uk

I have developed one regular paypal form along with IPN script(in PHP).
When I make the payment using sandbox, everything works fine and flawlessly !
But when the form goes live, it doesn't even call the IPN.
Please note that the live payment is made through paypal.co.uk.. and Form submits data to paypal.com.
So, I think this is happening due to paypal.co.uk.
Is it so ?
Is there any solution for this ?
No. Your IPN script is likely still configured to verify the IPN data at https://www.sandbox.paypal.com/ instead of https://www.paypal.com/, which will cause it to fail, which in turn will cause the script not to get executed.
You can review individual IPN messages to were sent for your account in History > IPN History on your PayPal account overview as well.