Open james-allan opened 1 year ago
Labelling as high priority as it's important for subscribers to be able to easily add payment and keep their subscription payment active. Based on @james-allan analysis this was introduced (a regression) so that also raises the priority.
I did some testing by simply commenting out the return
in WC_Payments_Subscription_Service::create_subscription()
like so:
This worked for the use case of migrating from Stripe + Subscriptions to just WC Pay. But notably, it did NOT work for the use case of migrating from Stripe + Subscriptions to WC Pay + Subscriptions.
Steps to reproduce:
woocommerce_scheduled_subscription_payment
action for it.EDIT: After discussing this on P2 with @james-allan, it turns out it's expected that WC Pay will NOT take over in the case of a Stripe + Subscriptions to WC Pay + Subscriptions migration. :( Bummer.
@haszari Will Helix work on this?
Will Helix work on this?
@jbordonado Yes - this is within our responsibilities, we'll consider it for upcoming sprints.
The PR that introduced that bail out (https://github.com/Automattic/woocommerce-payments/pull/3308) added it to avoid creating WCPay Subscriptions for free subscriptions. We'll need to make sure that bug isn't reintroduced by fixing this issue. Expected behavior When you pay for a manual subscription and WC Subscriptions (extension) isn't active, we should be creating a subscription.
A first step here would be to confirm that this was introduced in WCPay 5.0 – retest in WCPay 4.9 and confirm no bug.
Will Helix work on this?
@jbordonado Yes - this is within our responsibilities, we'll consider it for upcoming sprints.
Thank you, I suspected but wasn't sure.
Describe the bug
If a store switches from using WC Stripe + WC Subscriptions to WCPay Subscriptions subscription go to manual renewal mode. When the subscription eventually renews manually, the customer should be able to log into their account, pay for the renewal using WC Payments and that should transition them to WCPay Subscriptions.
This currently isn't the case.
To Reproduce
Screenshots
Actual behavior
There is a function that is set up purely for creating a WCPay subscription in this flow.
WC_Payments_Subscription_Service::create_subscription_for_manual_renewal()
[code ref].However in this scenario it is falling over because it eventually calls
WC_Payments_Subscription_Service::create_subscription()
however that function bails early if the subscription doesn't have WC Payments as the payment method [code ref].The PR that introduced that bail out (https://github.com/Automattic/woocommerce-payments/pull/3308/) added it to avoid creating WCPay Subscriptions for free subscriptions. We'll need to make sure that bug isn't reintroduced by fixing this issue.
Expected behavior
When you pay for a manual subscription and WC Subscriptions (extension) isn't active, we should be creating a subscription.
Critical flows
@aheckler suggested that this flow could be tested by GlobalStep regularly. Adding a note / reminder to this issue to look at this as part of shipping the fix.