Page MenuHomePhabricator

Investigation: Cancel Paypal Recurring doesn't always cancel on processor side
Open, Needs TriagePublic

Assigned To
None
Authored By
AKanji-WMF
Jul 7 2023, 2:19 PM
Referenced Files
F37141495: 1323946 - 1.png
Jul 17 2023, 2:25 PM
F37141493: 1323946 - 2.png
Jul 17 2023, 2:25 PM
F37137219: cid 48449038 screenshot 3.png
Jul 12 2023, 6:25 PM
F37137217: cid 48449038 screenshot 2.png
Jul 12 2023, 6:25 PM
F37137215: cid 48449038 screenshot 1.png
Jul 12 2023, 6:25 PM
F37136044: paypal screenshot.png
Jul 11 2023, 3:03 PM
F37136046: civi screenshot 2.png
Jul 11 2023, 3:03 PM
F37136041: civi screenshot.png
Jul 11 2023, 3:03 PM

Description

DR flagged an issue: - Sometimes recurring donations via PayPal will show as 'cancelled' in Civi, but are still active or paused in PayPal. While we couldn't find a current/active example of where this is happening, it has been mentioned in previous Phabs:
T239180: PayPal recurring: backfilled automated cancel? > From 2019 "We received a request from donor cid=#### to cancel their recurring PayPal donation, and when we looked it up it's already canceled in Civi, but the subscription still shows as active at PayPal."
T242158: Fix fake PayPal cancellations on the fly > From 2020 "We sometimes see PayPal recurring subscriptions that look canceled to us, but are still active on PayPal's side."
T306188: Recurring donation paused at PayPal but not in Civi > From 2022. - opposite of what is being described but demonstrates a possible disconnect at times between PayPal and Civi.

Event Timeline

Adding in a new example I came across this morning.

Donor CID 17502776 (Zendesk ticket #1323459) in Civi it showed that their recurring donation via PayPal is "cancelled".

civi screenshot.png (229×1 px, 40 KB)

civi screenshot 2.png (389×1 px, 41 KB)

However, in PayPal for the corresponding transaction, I-1HN71K757DNS, it showed that the recurring donation is still active with an outstanding balance.

paypal screenshot.png (318×875 px, 40 KB)

Please note to assist the donor with their donation I had to go ahead and also cancel the recurring donation at PayPal. Therefore PayPal and Civi now match and both show the recurring donation as cancelled. Will add any more examples if I come across them! :)

Came across another example today.

Donor CID 48449038 (Zendesk ticket #1323637) in Civi it showed their recurring donation via PayPal was "cancelled" but it still showed as active in PayPal with an outstanding balance as shown in the screenshots below.

cid 48449038 screenshot 1.png (174×1 px, 29 KB)

cid 48449038 screenshot 2.png (521×1 px, 55 KB)

cid 48449038 screenshot 3.png (384×855 px, 48 KB)

It seems like for recurring donations via PayPal it may be trying to bill a few times and then if it it's not successful it is 'cancelling' the recurrence in Civi but still remaining active in PayPal and creating an "outstanding balance". The recurring donation will remain active at PayPal until our team cancels it at the donors request or the donor manually cancels it themselves at PayPal. For some additional context the donor will also get emails from PayPal regarding the trouble billing them and they are also notified that there is an "outstanding balance" that is due.

Adding one more example I came across on Friday.

Donor CID 35403747 (Zendesk ticket #1323946) in Civi it showed their recurring donation via PayPal was "cancelled", but it still showed as active in PayPal with an outstanding balance as shown in the screenshots below.

1323946 - 2.png (291×1 px, 50 KB)

1323946 - 1.png (403×906 px, 49 KB)

The last successful billing of this recurring donation was in December 2022 and the recurrence showed as "cancelled" in Civi. However, PayPal continues to attempt billing the customer and likely notified the customer of that based on the comment from the donor.

The donor noted "I am requesting a stop of attempts to collect the monthly donation that I previously signed up to make. I have not been able to make payments these past months. Once I am in a position to donate again, I will sign up again and resume donating. I'm sorry for the inconveniences."

@AKanji-WMF - As we now have three recent examples I'll hold off any additional examples for now. However, let me know if any additional information is needed. :)

Thanks for adding these examples, @AMJohnson. We continue to see tickets where these accumulating "outstanding balances" are donor pain points. I mentioned this case to @XenoRyet this week and he mentioned that this problem might connect to other actions we would like the PayPal API to do for recurring Paypal cancellations in T361636: ask Civi to use PayPal's API when humans cancel recurrings & T361243: ask Civi to use PayPal's API when canceling recurrings due to chargebacks.

If there could be code that would cancel at PayPal any recurring donations for which we haven't received a donation in three months, that would spare donors from receiving dunning / overdue balance messaging from PayPal. Or maybe the two Tasks above would on their own prevent this case, but if not, I thought I'd note it here.