Are IPN updates necessary for PayPal buttons? - paypal-ipn

We received a notification from PayPal that ipn verification needs to be updated to https.
https://www.paypal.com/au/webapps/mpp/ipn-verification-https
But we only use PayPal buttons generated from the PayPal website with some added drop down menus. Does this apply to us?

If you're using the IPN service, then you will need to update it to HTTPS. If not, there is no need for an update.

Related

Pay Pal webhooks never called

I have been using Pay Pal for payments from our website for many years without problems.
We currently use Pay Pal buttons to redirect to Pay Pal's website for the payment, and have it return to our website to record the payment.
Now we are trying to configure webhooks in Pay Pal to have it notify our server of payments. The goal is to have auto renewing subscriptions that call the webhook every month when Pay Pal automatically processes the payment.
So I setup the webhooks on,
https://developer.paypal.com/
I setup the webhooks for both the sandbox and live account, and verified it can call the webhook successfully through their webhook simulator.
However, when any payment is made through our website the webhooks are never called?
I've tried everything, but they are never called.
Are the webhooks only called if you make the payment through the Pay Pal API, or are they also called if a payment is made directly, or through a Pay Pal button?
Do they get called for auto-renewing subscriptions?
Okay, so now I know that said you did set up the webhooks. However, I am still going to include doing that in my answer anyway.
Step 1: Creating The PayPal Application
Visit URL: https://developer.paypal.com/developer/applications/ and
click 'create app'
Give your Application some name and move forward.
Step 2: Adding/Managing WebHooks For Your Application
After creating the app, you will be presented with this screen.
Scroll a bit down and click 'Add Webhook'.
Add your desired webhooks (subscription webhooks are here). If you are not sure. Just choose 'All events' (the first option) for the time being. Also, make sure you add a Webhook URL.
Step 3: Listening for WebHooks
Webhook Details:
https://developer.paypal.com/docs/api-basics/notifications/webhooks/event-names/#sales
The webhook you need to listen for auto-renewing subscriptions is: PAYMENT.SALE.COMPLETED
Step 4: Verifying you are getting the Callbacks
You can visit:
https://developer.paypal.com/developer/dashboard/webhooks/live to see
all the webhooks that were fired by PayPal (only stores up to 30 days).
Personally, I would try to log everything that I receive at my
endpoint and compare my log with PayPal's log.
Step 4: Validating the Callbacks
Furthermore, you can also visit:
https://developer.paypal.com/docs/api-basics/notifications/webhooks/rest/#to-use-the-paypal-rest-sdks-to-verify-event-notifications
to get the sample code(s) to validate the callback (webhooks) once you receive
them.
Please understand the distinction as i have quoted from the below sources.
The PayPal REST APIs use webhooks for event notification.
.
.
The Paypal BuyButton triggers IPN

After modifying the PayPal IPN URL, still using old IPN listener URL for some notifications

I'm working on a project which has PayPal integration. We have two PayPal accounts for payment and choose the PayPal account based on the type of users. We previously had two IPN listeners for the two different PayPal accounts. Previously our IPN was pointed to "https://www.old-domain1.com/paypal/ipnhandler" and "https://www.old-domain2.com/paypal/ipnhandler". Yesterday we have updated two websites into one and we started to use a common IPN to this address "https://www.new-domain.com/paypalipn/paypal/IpnHandler" to the new project.
We have added the common IPN URL on both PayPal accounts. But we could see PayPal is still sending the IPN to the old IPN handler for the old recurring payment. Our old IPN handler URLs are not currently working and we don't have the option to update the payment if PayPal is still sending the notification to the old URL. For some users, it worked correctly. For some users PayPal still using the old IPN URL. Why does this happen?
Now we have one IPN listener for two different PayPal accounts. Is this related to the problem?
If a URL was specified as part of setting up the transaction (i.e. by the software/site when the user was redirected to PayPal), that transaction-level specification supersedes any setting in the PayPal account. It is now set in stone for anything related to that transaction/recurring profile, and cannot be changed.

issues with notify_url in paypal

I am a developer and we have paypal payment sytem integrated with our shop since long.
We have implemented the notify_url paramter in checkout code and was working fine since 4 months back. But now we could see that when a payment is done, we are not notified via the notify_url we specified. But however if we check the url via the IPN simulator, we can see everythign works as expected, but not not notifying automatically when payment is done .
What could be the issue or what all do we need to cross check for this issue to be solved
Did you received any 'PayPal Instant Payment Notification Warning' email from PayPal? This email could be telling you that there's an issue with your IPN URL when PayPal trying to post back the notification to your server, and that could be the reason you didn't receive the notification message from PayPal.
Otherwise, I would recommend you to contact PayPal technical support via https://www.paypal-techsupport.com/app/ask and providing the detail of your PayPal account for them to troubleshoot on this issue.

How to configure paypal sandbox for testing

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/ .

Checking if paypal payment was successful

I have downloaded sample code from paypal to allow me to use parallel payments via their sandbox accounts. When I run parallel.php, I get redirected to paypal's sandbox login page.
How am I supposed to know "server side" that the payment has been made successfully, so I can update my database records?
I believe you have to work with PayPals IPN system. This will basically send a confirmation to your server that tells you it has gone through.
https://www.paypal.com/ipn
Paypal lets you register a notification url which is part of the IPN (instant payment notification IIRC) system. So if someone pays by a delayed payment (such as a bank transfer) the transaction will update days later. You need to have an application (web page) on your server that can be called by Paypal with transaction details to update a payment.
You'll need to create an initial transaction record in your system when paypal redirects back to you so refer to their documentation for that. I'd also recommend looking at either OSCommerce or Zen cart for an idea of how they do it as they support the same kind of thing.