When connecting to PayPal Donations, users should be able to connect to existing apps
closed
Ben Meredith
If a user needs to disconnect from PayPal for any reason, and wants to reconnect, GiveWP's PP onboarding currently gives the option to connect to an existing
account
but not an existing app
within that account. Since PayPal only sends webhooks for renewals based on the APP that created a subscription, so this is more than just an annoyance: by connecting to a different app you are effectively severing the connection with GiveWP for those existing subscriptions. They will still charge at PayPal, but the GiveWP site will not be alerted.
Jason Adams
closed
We have good news and bad news as to why we're closing this.
Bad News:
We spoke with PayPal and there _is no way_ to connect to an existing app. Their system simply doesn't have a way to do it. Once you disconnect, you have to make a new app when connecting. We were not thrilled by this news.
Good News:
We're doing _a lot_ of work to help the system recover itself better when the app tokens expire. This is, in large part, why folks are having to disconnect and reconnect at all. Focusing our efforts here will help to minimize the need to reconnect and improve overall stability.
B
Brendon
Jason Adams: Thanks for the update. Not great news. Can you please give a bit more info on 'system recover itself better'? The ways we lost connection are:
- Setting up a staging then disconnecting from the staging to test PP on a different PP account.
- PP had a technical error with a 2 week outage. When it was fixed we had lost the connection to the app.
- Being instructed to disconnect and reconnect by Give support.
- Unknown, just lost connection.
This means we have about 1,000 subscriptions in PP we have lost the connection so users are not getting their receipts, info is not going to salesforce, annual receipts are out and the work involved in doing the annual receipts manually is simply too much for staff.
We are going to email and ask them to resubscribe but this connection appears to be breakable so how much will the 'system recover itself better' help? I'm not sure we can use PP which is a big problem because as soon as we take it down people start requesting it. If we changed how we connected to PP would that help?
Ben Meredith
Brendon: Previously tokens were expiring and GiveWP sites were becoming disconnected from PayPal silently, which is obviously a problem.
The "Disconnect and reconnect" guidance we were handing out in those cases worked to reconnect, but had unintended consequences as noted in the original post here, and so we're trying to get to the bottom of why that was happening and prevent it. We've zeroed in on part of that disconnection problem, and are going to be releasing some updates to that that make the connection more stable going forward.
It doesn't help you, because PayPal has inexplicably decided to tie webhook events to specific apps (and not to just the account) and once the app on the back end of PayPal is deleted, it appears impossible to turn back on the webhook notifications for those subscriptions.
That's a problem we just can't fix, because PayPal made that strange engineering decision to tie webhooks to apps, and not to account activity.
So our only recourse from our side is to try and limit the reasons people would need to disconnect and reconnect, and to advise folks going forward to never delete apps from the back end of their PayPal account. Of course, had we known, we'd have not told you to delete those redundant apps.
So, aside from never deleting redundant apps, and getting existing donors to switch over their subscriptions, there's not much we can do, unfortunately.
B
Brendon
Ben Meredith: Thanks Ben, understood. If we connected to standard or the other option instead of donations would that prevent this issue? Also we are looking at changing hosts but I'm concerned we could loose connection. Is that possible?
Ben Meredith
Brendon: Changing hosts would almost certainly not matter.
And regardless of losing connection or not, as long as you don't delete apps from the back end of PayPal you should be fine.
Your core issue is a result of deleting those old apps. So don't delete those, and then it doesn't matter what version of PayPal you use.
PayPal Standard is certainly more stable in terms of remaining connected to PayPal, but the issue is still ensuring that those webhook events don't stop being sent. If PayPal Donations is working, I'd stick with that, and be sure to stay updated with the next versions of GiveWP where we are going to solidify that connection.
Ravinder Kumar
under review
B
Brendon
URGENT. This is causing a very serious issue for us effecting nearly 1,000 recurring donors. Our PayPal donations renewals stopped processing in the second half of 2022 so donors are not receiving the required receipts and our records are not being sent to Salesforce. We tried everything to troubleshoot but nothing worked, the renewals simply stopped. This could be because of a staging site that created a new app in PayPal.
After months back and forth with PayPal/Give support we finally figured out what was happening. The webhook events are not sending and according to PayPal its because each REST app in PayPal has a unique client ID linked to the subscriptions. We had multiple GiveWP REST apps in PayPal. This might of occurred because we had trouble connecting to PayPal and had to try a number of times.
From PayPal:
“Whether or not there will be webhooks sent for the payments that were made with the deleted apps depends on how GiveWp is processing the recurring payments. Since recurring payments are being processed as subscriptions, the webhooks for the profiles that were created with the old deleted REST Apps will NOT have webhooks sent for the subsequent payments anymore. However, the payments should still continue on schedule because the subscriptions are scheduled already.
Looking at the activity in your account, it looks like they are being done as true subscriptions so this explains why you are seeing the behavior that you are seeing. The only way to ensure that ALL payments have webhooks sent for them is to have your subscribers re-subscribe using the new client id. This will ensure that ALL profiles and payments are created using the new REST app, and therefore, should have webhooks sent for the subsequent payments.
In order to prevent this again, if you need to disconnect and reconnect again, I would recommend inquiring with the GiveWP team if there is a way that you can connect an exiting REST app to their plugin, rather than going through their onboarding process that creates a new REST app”.
So unfortunately we might be a worse case situation where it’s not possible to reconnect all the subscriptions to the current client ID. This is causing a great deal of concern because its critical income and donors have to get their receipts.
The fix according to PayPal would be to:
1. Add the additional ability to choose an existing REST app after connecting to an existing account via PayPal Donations. If PayPal is correct then without this if anyone disconnects they will lose all exsisting renewals. The odd thing is why is this only happening to us? Surely this would effect many others?
2. Add a sync button like Stripe. PayPal say this is possible and this might give us the ability to bring in the renewals if PayPal can manually change the client IDs.
Note: we were advised by Give support to delete all the Give REST apps in PayPal and to reconnect to fix the issue. If what PayPal is saying is correct then this is bad advice so please make sure everyone is aware.
We hope this can be resolved as soon as possible because our donors have not been getting their receipts for nearly six months now.
J
John
On my paypal developer dashboard https://developer.paypal.com/dashboard/applications/live If I click on "MyApp_GiveWP" the app created by GiveWP and goto the bottom it shows LIVE WEBHOOKS and has an option to manually add a webhook would this work with adding in manually the webhook url manually for each subscription?
B
Brendon
John: How would you do this for each subscription this is only on app? From my understanding with PayPal it would not work if you have the same issue as us and the client IDs are not the same.
J
John
Thanks I hope this can be resolved I have dozens of subscriptions that don't work anymore in Givewp they still get charged monthly but no longer get any renewals on our end. If we cant turn the webhooks back on a way to migrate the subs to a new PayPal app would help or a way to manually add the webhooks in paypal.