Notify_url in Paypal text link is not working - paypal

I read at one of the Stackoverflow that the following URL can be use to make payment via paypal.
https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=youremail#goeshere.tld&amount=1.00&currency_code=GBP&item_name=tripdatagoeshere
I look at the documentation that it accept notify_url which paypal will send a POST to after payment is successful. I tried but couldn't. Does paypal support this?
https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=youremail#goeshere.tld&amount=1.00&currency_code=GBP&item_name=tripdatagoeshere&notify_url=http://www.s.com/d/notify.php

This is a rather old-school way to integrate with PayPal; I think the company generally steers people to the Website Payments Standards button factory/posts with hidden fields to access this functionality rather than putting parameters right in the URL. That said, any parameter you can send in a button post can also be sent in a plain GET URL, so yes you should be able to pass in a notify_url directly in the GET parameters as you show above.
However, the notify_url is intended only to override the selling account's normal notification URL. You need to set up a notification URL in your profile in order to turn the feature on; I believe a transaction-specific override URL will be ignored if the feature is not enabled. Once you turn on the IPN feature you should be able to override it this way... but you also might not need to, unless you want the postback URL to vary for each payment.
See also the WPS integration guide: https://cms.paypal.com/cms_content/GB/en_GB/files/developer/PP_WebsitePaymentsStandard_IntegrationGuide.pdf
and the IPN guide: https://developer.paypal.com/webapps/developer/docs/classic/ipn/integration-guide/IPNIntro/

Related

Instant Payment Notification (IPN)

I have more than one website that I want to use IPN with. However, there is only one notification URL to edit in this feature? So how it is possible to support mult-website?
You can pass in the notification url on the initial post to PayPal (assuming the NVP integration) using the parameter: notify_url
You many have the ability to pass in the notification url in other implementations.
The setting in PayPal, is the default one I think.

Is it possible to dynamically set notify_url for recurring payments in PayPal?

I've run into a slight predicament in regards to the PayPal IPN system. My client already has an IPN URL designated for their store, however I am building a custom application which presents the ability to subscribe to a service. I need to be able to receive IPN notifications, however I've seen varying answers in regards to whether or not you can dynamically set the notification URL for recurring payments through the notify_url parameter.
Has anyone recently dealt with this situation? I'm aware that it's possible to setup a handler that will pass requests to various IPN handlers however the store system that my client requires the request to be sent directly from PayPal, third-party vendors' requests are ignored.
You can set notify_url as a parameter of the form that is submitted when the button is clicked, and that will override whatever notification URL is set on the account.
However AFAIK you can't change it again subsequently.

paypal different pages - visa/debit payment not create account

Hi I have searched for this solution and although others have experienced the same problem I couldn't find a solution that works for my site.
My wordpress site mainly sells registrations/bookings for events and I'm using the s2Memberplugin to process the payments with Paypal. The problem is that when we direct the users/customers to the paypal page to complete the transaction which i want set up with the option of paying via credit/debit card if the user/customer doesn’t have (or doesn’t want to create one) a paypal account. That has been working perfectly except for when users/customers are using a variety of internet browser with various cookie settings so the user/customer get’s directed to a completely different page both in appearance and functionality from the page I want them to see. This incorrect page ‘requires’ users/customers to have or create a paypal account to make the payment, no option to pay via card is available. I tried calling paypal and of course they say it is something wrong with my site.
Over 20 days ago i lodged a support ticket with Paypal MTS (or whatever they are called) and of course no response. I have lodged about 5 more tickets and made about 10 more phone calls and they simply don't care about customers. That is clearly demonstrated when you ask to speak to the complaints section and they say "We don't have a complaints section'
Thanks very much, any assistance is greatly appreciated
I haven't been provided with any error codes, unfortunately - i did ask for them but nobody supplied them.
we just discovered that the payflow and IPN settings within my sites plugin were empty but i'm filling them in now but i have two questions:
The vendor, is that just my username for my paypal account? (why don't they just use the same terminology - confusing)
My s2Member plugin say's i'll need my IPN url (and then supplies a url, but whn i look at the IPN notification url within my paypal settings it's a totally different link. Should i be changing my paypal IPN url to that which is supplied by my s2Member plugin or am i getting two different url's confused?
Thanks for your help again mate.
If you're using Payments Standard this experience is cookie based as you mentioned. If you want to make sure the full credit card form shows up and allows people to pay with a credit card without creating an account you can use the Express Checkout API instead.
In your SetExpressCheckout request you just need to set SOLUTION=Sole and LANDINGPAGE=Billing.

Change the IPN url on existing subscription

we plan to change the domain name for our service. Therefore we need to update the IPN-url for our existing customers. I have tried googling a solution on how to change the IPN-url for current subscriptions, but I haven't been able to find anything.
Any help is appreciated.
best regards
Thomas
I ran into this problem today.
Folks who are saying that you can change the IPN URL on an existing Paypal recurring payment are incorrect; you can't, you can only change the IPN URL for future notifications.
To resolve this, I used an Apache rewrite:
RewriteRule ^sites/all/modules/civicrm/extern/ipn.php$ https://example.org/wp-content/plugins/civicrm/civicrm/extern/ipn.php [R=307,L]
The magic is the R=307. A 307 redirect indicates that a POST request must be resent as a POST. Otherwise you lose the IPN data.
I had exactly the same problem .... I had to move servers which meant my IPN url changed.
I have spoken to 3 different paypal reps and even had a meeting with a tech support guy from there.
Unfortunately, there is NO WAY to change the IPN url for existing customers/subscriptions.
I have been advised that all existing customers/subscriptions would need to be setup again, your customers would then need to start a new subscription based on the new IPN url.
This is a right PITA ... I have just over 1500 customers I need to do this for, and I can guarantee I will lose some due to the hassle of this.
Sorry this wasn't the answer you were looking for :(
If you need to chnage IPN Url make sure that it is still turned on check from History>IPN History and turn it on.
IPN can be enabled in one of 2 ways.
In the PayPal account Profile
Passing an IPN URL as a parameter in an API call or button code.
To enable IPN in your account profile follow these steps:
Log into your account at https://www.paypal.com
Click on the Profile
subtab In "My selling tools" click Update in the Instant Payment Notifications section.
Click the Edit button or Choose IPN settings
Enter your IPN URL in the Notification URL field Make sure the radio button for 'Receive IPN messages (Enabled)' is selected
Click Save
IPN can be enabled directly in this section of the account: https://www.paypal.com/ie/cgi-bin/webscr?cmd=_profile-ipn-notify-edit (access requires login)
To pass an IPN URL as a code-level parameter you should refer to the documentation of the feature you are implementing. Typically the API variable you would pass is 'NotifyURL' but it can differ based on the API call, if the API is Name-Value-Pair (NVP) or SOAP format or if you are using non-hosted PayPal Standard button code. For standard buttons the variable is "notify_url".
This profile setting is frequently overridden by shopping carts. Still, IPN should be enabled in the account.
It's 1 May 2013 & PayPal has changed the location for the IPN.
Login, go to Profile -> My selling tools ->Instant Payment Notifications...(Update)
This shows your current IPN URL, and there is an EDIT button.
In the absence of a solution from Paypal, I would encourage anyone to submit a support ticket requesting a manual change. If enough of us do this, they will have to provide this option eventually.
Contact Paypal Technical Support here.
EDIT: I managed to successfully change all my prior IPN URLs via a ticket with Paypal Support. They told me it has to be done manually, but obliged my request. It took about a week. They were very helpful. Hope this helps someone.
Dec 2022 update:
There is IPN URL settings at https://www.paypal.com/merchantnotification/ipn/preference . I changed the IPN URL and since then all IPN notifications are coming to the new IPN URL. I do not know if super old subscription notifications will also come to this URL or not, but I can confirm that 1.5 year old subscriptions are going to this new URL now.
I have just done it.
Login, go to Profile -> My Account Settings ->Instant Payment Notifications...(Update)
This shows your current IPN URL, and there is an EDIT button, which works.
This is April 2013, so PayPal might have changed since this question was posted

PayPal IPN notify and success URL params

I'm implementing a simple Buy Now button and I'm using IPN (not PDT) to verify the transaction.
A thing that bugs me is that I don't understand how come only after I set the notify_url field to the button I also get the transaction variables to the success URL, as GET params. It would seem normal to be the other way around.
Since the user could or could not choose to "return to the merchant's website" there's not way I should rely on that data. It does however seem to be identical to the one sent to the notify URL.
Some clarification would help. Thanks!
I know what you mean, after the user has finished paying and chooses to return to the sellers website (button in paypal page) they are redirected to your thankyou page.
I don't think it used to do this back in 2009 but now paypal will issue the redirect with all sorts of parameters in the url query string.
I'm just ignoring this information and relying on the backend IPN post which is verifiable by paypal
In my previous experience with IPN, I defined the location of the notify URL in the control panel. Once the payment is processed, PayPal sends a POST notification to this URL independent of any user behavior.
In any case, even if you define the notify_url parameter in the button, I believe PayPal will still send the payment notification seperate from the user behavior - they spawn a new process to send the data. As to why they are using a GET rather than a POST, that is odd behavior. However, in your IPN script you should still have logic that verifies the call with PayPal before you continue processing.