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.
Related
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.
Using the PayPal permissions API can you receive notifications from payments made after a customer clicks on a payment button, proceeds to PayPal, and then pays?
I notice they have IPN, but will this work with the permissions API?
Thanks!
You can include NotifyURL in your API requests to set a URL for IPN to POST data to. It's not something that technically "works with the permissions API" but any transaction that is made would indeed trigger the IPN.
If you're building an app for 3rd parties to use, though, and you're passing NotifyURL in your API requests, that will override any IPN configuration each individual merchant using your tool might have setup on their own. This can cause frustration for such users because then their own IPN solution doesn't get hit when they take payments through your app.
If you're going to do that I recommend setting up a way for your users to enter their own IPN URL in your app settings, and then if they have a value, forward the POSTed data to their URL when PayPal sends it to yours. That way both IPN scripts will get hit and process the data accordingly.
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¤cy_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¤cy_code=GBP&item_name=tripdatagoeshere¬ify_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/
We have an IPN listener already from integration of another paypal api. Now I want am trying to intregate a payment button to a web soolution, which should then be able to report to the existing IPN listener.
I have a login to the paypal devlopers site. I see the IPN simulator there but as I understand it that allows me to create a message and send it manually. Is there any way to configure my sandbox account to send IPN notifications to the listener when I send a click from the web button to the sandbox. In other words I want the IPN message to be created based on the info I send with the web button, in the same way as it would in the live system, not to be my guess as to what message will be created then. I don't see where to configure the address I want notifications sent to other than for the simulator.
Also, is there any way to test with a currency other than USD?
Thanks,
Adam
For IPN, the easiest way is to pass the URL of your IPN handler in the notify_url variable of your button.
Currency codes can be tested by passing the currency code in the currency_code variable of your button. A list of currencies PayPal supports can be found at https://developer.paypal.com/webapps/developer/docs/classic/api/currency_codes/ .
Is it possible to tell PayPal through the NVP to not send a response to the IPN handler? For instance I use the IPN for payments I receive through a store I have running FoxyCart. However the store Im setting up now doesnt use a 3rd party cart, Im just using the API response to handle handle everything. Because of this I dont want PayPal to send a response to the IPN.
Ive scoped out the notify_url param, but that appears to only change where the IPN response is sent to.
I would prefer for this store that no IPN response gets sent at all, while allowing the other store to continue using the IPN it has always been.
Thanks in advance.
It depends on your account settings.
There are two types of IPN's, one is set at account level, and it's triggered whenever money comes into your account, regardless of the source. If you disable this, you will not get ny IPN's from either store.
The other type of IPN, is based on the API call being made.
You need to check your magento payment module config to see if it's generating the second type, and disable it there. If it's already disabled, it means that you are only getting the first type of IPN. If this is the case, you would actually need to modify your OTHER shopping cart.
(A simpler option might be to open a child paypal account, rather than mess with all the carts)