Closed csmcneill closed 1 year ago
According to Pc2DNy-3z-p2, this falls in Helix @haszari. Tagging as a part of Gamma Porter duties PcreKM-yM-p2.
Thanks – since this is subscription related it's best to hand over to Quark - FYI @thenbrent .
I'll update the Product Responsibilities page (Pc2DNy-3z-p2) to add Quark team for WCPay Subscriptions.
6477405-zen
As a temporary "fix", we have https://github.com/Automattic/woocommerce-payments/issues/6709 . But we might end up closing https://github.com/Automattic/woocommerce-payments/issues/6709 for a more definitive solution.
Hey @csmcneill, we've just merged some implementation into develop
which should fix the issue and I couldn't reproduce it. May we ask you to test the fix if your setup allows it and let us know if we can close the issue?
cc @FangedParakeet
Hey @timur27! If you can provide me with a ZIP I can install on my test site, I'll be glad to give it a whirl. When I try to activate the develop
branch after uploading it to the site, I get a fatal error (which is probably due to my own naïveté):
Fatal error: Uncaught Error: Failed opening required '/srv/htdocs/wp-content/plugins/woocommerce-payments/vendor/autoload_packages.php' (include_path='.:') in /srv/htdocs/wp-content/plugins/woocommerce-payments/woocommerce-payments.php:27
Stack trace:
#0 /wordpress/core/6.2.2/wp-admin/includes/plugin.php(2314): include_once()
#1 /wordpress/core/6.2.2/wp-admin/includes/plugin.php(661): plugin_sandbox_scrape('woocommerce-pay...')
#2 phar:///usr/local/bin/wp-cli/vendor/wp-cli/extension-command/src/Plugin_Command.php(347): activate_plugin('woocommerce-pay...', '', NULL)
#3 [internal function]: Plugin_Command->activate(Array, Array)
#4 phar:///usr/local/bin/wp-cli/vendor/wp-cli/wp-cli/php/WP_CLI/Dispatcher/CommandFactory.php(100): call_user_func(Array, Array, Array)
#5 [internal function]: WP_CLI\Dispatcher\CommandFactory::WP_CLI\Dispatcher\{closure}(Array, Array)
#6 phar:///usr/local/bin/wp-cli/vendor/wp-cli/wp-cli/php/WP_CLI/Dispatcher/Subcommand.php(491): call_user_func(Object(Closure), Array, Array)
#7 phar:///usr/local/bin/wp-cli/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php(419): WP_CLI\Dispatcher\Subcommand->invoke(Array, Array, Array)
#8 phar:///usr/local/bin/wp-cli/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php(442): WP_CLI\Runner->run_command(Array, Array)
#9 phar:///usr/local/bin/wp-cli/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php(1256): WP_CLI\Runner->run_command_and_exit()
#10 phar:///usr/local/bin/wp-cli/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/LaunchRunner.php(28): WP_CLI\Runner->start()
#11 phar:///usr/local/bin/wp-cli/vendor/wp-cli/wp-cli/php/bootstrap.php(78): WP_CLI\Bootstrap\LaunchRunner->process(Object(WP_CLI\Bootstrap\BootstrapState))
#12 phar:///usr/local/bin/wp-cli/vendor/wp-cli/wp-cli/php/wp-cli.php(32): WP_CLI\bootstrap()
#13 phar:///usr/local/bin/wp-cli/php/boot-phar.php(11): include('phar:///usr/loc...')
#14 /usr/local/bin/wp-cli(4): include('phar:///usr/loc...')
#15 {main}
thrown in /srv/htdocs/wp-content/plugins/woocommerce-payments/woocommerce-payments.php on line 27
@csmcneill Thanks for your attempt while testing this, Chris! Could you please try woo-payments-develop.zip and let us know if any other support from our side would be needed to test it. Thank you!
@timur27 I don't have access to Zenhub, so that link isn't quite working for me 😞
The error I get is when I download the ZIP from GH...
...and then try to activate it on my test site. I've tried activating it via wp-admin and WP CLI without success.
The error I get is when I download the ZIP from GH...
This is probably happening because if you just download the raw repo zip from GH, you still need to build all the dependencies before you can use it on a test site. Nonetheless never fear, here's one I made earlier--hopefully the link below works for you! @csmcneill, gimme a shout if it's still not opening and I'll figure something else out.
Thanks a ton for that @FangedParakeet!
I tested this out on the same site I was using to explore #4492 (read p1691503660845959-slack-CGGCLBN58 for all the juicy details, including login information) and am still unable to renew a subscription paid via Link:
Edit: I realized that what I was testing is very similar to the flow in #4492 since the site's currency was still set to EUR. However, disabling multicurrency completely and changing the site's currency to USD still yields the same error.
Please find an updated build of the plugin attached below for you to trial on a test site. As always many thanks in advance and hopefully we have managed to resolve this issue for good this time. 🙏
@FangedParakeet (& @csmcneill ) FWIW, I created a subscription with Stripe Link. As a merchant, I manually renewed the subscription. It worked. Then, as a customer, I manually changed the subscription's payment method to "card". As a merchant, I manually renewed the subscription again. It also worked.
I think the fix was good 👍
(The subscription was processed with the "Legacy UPE" because of the current fallback from the Split UPE).
@csmcneill feel free to test this further - otherwise, we can mark this ticket as closed?
I tested this on a fresh JN and I was able to process a subscription renewal with Stripe Link...but I did face a few other issues and can confirm that @csmcneill is not losing his mind and imagining things. 😂
(The subscription was processed with the "Legacy UPE" because of the current fallback from the Split UPE).
This is the key basically. Stripe Link payment tokens are being sent to the non-existent woocommerce_payments_link
gateway instead of the woocommerce_payments
gateway where they should belong--only when the split UPE is enabled.
I've just authored #7026 that should resolve this and bring balance to the force once and for all. That PR also adds a fix that I believe will ensure that SEPA Debit is functional as a saved payment method/subscription payment method as well. However, I have not yet fully enabled SEPA Debit when the split UPE is enabled (so you will have to manually edit this function to test SEPA with the split UPE), as I would rather wait for consensus in #5517 and test SEPA with the split UPE a bit more comprehensively, before leaping to enable it in #7026.
Nonetheless I'm pretty confident #7026 will finally dam the floodgate of tears unloaded by this issue, so once it is merged, I think we should be able to close out this issue at last.
@csmcneill, I think we can test this one internally in #7026, so if your hands are full don't feel the need to drop whatever they're currently occupied with. Nonetheless if your curiosity cannot be constrained, here's a new build that contains the Stripe Link fix, should you yearn to see the promised land with your own eyes.
Describe the bug
If a subscription is purchased via Stripe Link, subsequent renewals will not process. They will fail with the following error:
In my tests, the
pm_
ID is stored correctly in Stripe, but that information isn't being passed to Woo or stored on the site to retrieve that information for renewals.To Reproduce
Renew now
flow and the subscription can be renewed as the customer has to go through the checkout flow again.Subscription actions
metabox or by manually running the associatedwoocommerce_scheduled_subscription_payment
scheduled action.Actual behavior
If a customer purchases a subscription via Stripe Link, the renewals fail, and there is no way for the subscription tokens to be added manually.
Screenshots
Expected behavior
Either of the following:
Additional context
p1683573649730159-slack-C7U3Y3VMY 6271366-zen