Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Subscriptions: Automatically suspend subscription when dispute occurs #727

Open
allendav opened this issue Jun 12, 2020 · 7 comments
Open
Labels
component: wc subscriptions integration Issues affecting subscriptions with WC Subscriptions plugin active. component: wcpay subscriptions Issues related to Stripe Billing Subscriptions focus: subscriptions priority: high The issue/PR is high priority—it affects lots of customers substantially, but not critically. type: enhancement The issue is a request for an enhancement.

Comments

@allendav
Copy link
Contributor

allendav commented Jun 12, 2020

When a shopper disputes a payment related to a subscription, the subscription is unchanged and will continue attempting to renew. This behaviour could be improved :)

Suggested approach from @thenbrent :

Build a direct integration between Subscriptions (both built-in and the extension) and WC Pay. e.g. something like Subscriptions core listening out for dispute webhooks (or some other data source for dispute events) and suspending relevant subscription/s when a dispute is created.

Previous description from @allendav

to avoid the subscription continuing firing (thereby resulting in more disputes, more fees)

We might want to NOT do this for product_not_received

@bmccotter @thenbrent thoughts?

@allendav allendav added the component: saved cards and subscriptions Issues related to Saved Cards and Subscriptions label Jun 12, 2020
@thenbrent
Copy link

thenbrent commented Jun 15, 2020

This should be handled in Subscriptions rather than WC Pay, because it should be uniform across any payment gateways. Subscriptions handles disputes using the on-hold status in some cases already, but it doesn't integrate with the new wc-disputed-* statuses coming with #714, so it will need patches to handle those.

I've opened subscriptions/issues/3715 for that. We can leave this Issue open to track progress on that and make sure it ships alongside Subscriptions support in WC Pay.

@jessy-p
Copy link
Contributor

jessy-p commented May 13, 2022

@Automattic/helix Could you test this and close if handled.

@haszari
Copy link
Contributor

haszari commented May 15, 2022

helix Could you test this and close if handled.

Looking at the issue in Subscriptions repo ( 3715-gh-woocommerce/woocommerce-subscriptions ) I see that this is not implemented, no plans to work on this in the near future. Let's leave this open; looks like a nice enhancement.

@haszari haszari added component: wcpay subscriptions Issues related to Stripe Billing Subscriptions component: wc subscriptions integration Issues affecting subscriptions with WC Subscriptions plugin active. and removed component: saved cards and subscriptions Issues related to Saved Cards and Subscriptions labels Jul 21, 2022
@haszari
Copy link
Contributor

haszari commented Jul 21, 2022

Assuming this affects both the integration and built-in WCPay Subscriptions - if not please adjust labels.

This feels like an impactful enhancement, especially as TPV for subscriptions ramps up. Disputed subscriptions should only dispute once!

@haszari haszari added component: disputes Issues related to Disputes type: enhancement The issue is a request for an enhancement. priority: high The issue/PR is high priority—it affects lots of customers substantially, but not critically. labels Jul 21, 2022
@thenbrent
Copy link

This should be handled in Subscriptions rather than WC Pay, because it should be uniform across any payment gateways.

While this is still true today, and long term the best solution, because we still don't have dispute status proposed #714, and no clear path to getting that in place, we should implement something in lieu of that now also.

The simplest approach is to build a directly integration between Subscriptions (both built-in and the extension) and WC Pay. e.g. something like Subscriptions core listening out for dispute webhooks (or some other data source for dispute events) to suspect the subscription/s when a dispute is created.

@james-allan
Copy link
Contributor

e.g. something like Subscriptions core listening out for dispute webhooks (or some other data source for dispute events) to suspect the subscription/s when a dispute is created.

Personally, I feel like this is a little unrealistic as Subscriptions couldn't listen to every payment gateway's dispute webhook to handle the subscriptions context. I suspect gateway dispute webhooks would likely include a transaction ID in the webhook payload that the gateway would need to have the knowledge on how to pull that out (eg index/key) and map to the order. Subscriptions doing that wouldn't scale at all.

I think the best way to handle this would be for WooCommerce to introduce a function that payment gateways can use when an order is disputed. That function could update the order status and trigger an action that Subscriptions could hook onto to process subscription related order disputes.

Alternatively, Subscriptions could introduce a function that gateways could call when an order is disputed, that Subscriptions function could then handle the subscription end of that process.

@haszari
Copy link
Contributor

haszari commented Mar 11, 2024

I think this is another good reason for us to look at a real disputed order status in core. Linking in an issue in WooPayments about that, though there may be other discussions elsewhere and on core side.

Labelling as subscriptions focus in the mean time, though I imagine it's challenging to prioritise work on this.

@jessy-p jessy-p removed the component: disputes Issues related to Disputes label Apr 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: wc subscriptions integration Issues affecting subscriptions with WC Subscriptions plugin active. component: wcpay subscriptions Issues related to Stripe Billing Subscriptions focus: subscriptions priority: high The issue/PR is high priority—it affects lots of customers substantially, but not critically. type: enhancement The issue is a request for an enhancement.
Projects
None yet
Development

No branches or pull requests

6 participants