Page MenuHomePhabricator

Civi shouldn't show "cancellation not supported" message for processors where we handle schedule
Open, Needs TriagePublic

Description

When canceling a recurring donation via the Civi UI we see "Automatic cancellation is not supported for this payment processor. You or the contributor will need to manually cancel this recurring contribution using the payment processor website."

That's not accurate for Ingenico, Adyen, or new Dlocal recurrings - we can just cancel in Civi and they won't be charged any more.

Looks like we just need to create a cancelSubscription function on the class OR we can override the supportsCancelRecurring function. As a bonus we can make it actually cancel PayPal subscriptions and save Donor Relations some time searching in that UI.

protected function supportsCancelRecurring() {
  return method_exists(CRM_Utils_System::getClassName($this), 'cancelSubscription');
}

Event Timeline

I just cancelled a DLocal subscription in Civi and got annoyed by the inaccurate redtext again.

This should be really quick to implement, since we have the PayPal call all ready to go in SmashPig T318883: Implement PayPal EC ManageRecurringPaymentsProfileStatusCancel in SmashPig

Change 976259 had a related patch set uploaded (by Ejegg; author: Ejegg):

[wikimedia/fundraising/SmashPig@master] Add cancelSubscrition to recurring profile interface

https://gerrit.wikimedia.org/r/976259

Change 976262 had a related patch set uploaded (by Ejegg; author: Ejegg):

[wikimedia/fundraising/crm@master] Implement cancelSubscription for SmashPig

https://gerrit.wikimedia.org/r/976262

Flagging with DR that when this patch is implemented it will reduce the steps we have to take when cancelling a Paypal recurring donation - cc @krobinson

Change 976259 merged by jenkins-bot:

[wikimedia/fundraising/SmashPig@master] Add cancelSubscrition to recurring profile interface

https://gerrit.wikimedia.org/r/976259