GithubHelp home page GithubHelp logo

Comments (17)

namiokuzono avatar namiokuzono commented on July 29, 2024 2

For workaround on renewal subscription, please see 8056842-zd-a8c

Workaround: There has been report from merchants that switching back to Classic Checkout re-enables the SEPA payment.

from woocommerce-gateway-stripe.

a-danae avatar a-danae commented on July 29, 2024 2

👋 Update over here.

Regarding subscriptions changing their payment method to Manual Renewal after disabling the Legacy checkout experience. I've tested the following snippet...

add_filter( 'woocommerce_subscription_get_payment_method', 'use_sepa_updated_checkout_gateway_id_for_subscriptions' );

/**
 * Filters the return value of 'WC_Subscription::get_payment_method()'.
 *
 * Returns 'stripe_sepa_debit' if UPE is enabled and the gateway is 'stripe_sepa'.
 *
 * @param string $value The payment method ID.
 * @return string
 */ 
function use_sepa_updated_checkout_gateway_id_for_subscriptions( $value ) {
	if ( 
		'stripe_sepa' === $value && 
		class_exists( 'WC_Stripe_Feature_Flags' ) && 
		WC_Stripe_Feature_Flags::is_upe_checkout_enabled() 
	) {
		return 'stripe_sepa_debit';
	}

	return $value;
}

... and things seem to work as expected:
✔️ Subscriptions display "SEPA Direct Debit" under "Payment Method", instead of "Manual Renewal".
✔️ Renewals are processed successfully when triggered by either the merchant or the subscriber.

This could be a workaround while we make adjustments for the upcoming releases. Please keep in mind this is a workaround and experimental, although tested. The actual fix will be released in the extension.


What's going on
I included the details of what's causing this behavior in the description of this draft PR, which exists as a proof of concept and to document the behavior, likely not getting merged.


The following flows fail when using a SEPA source with the Payment Methods API

  • Regular purchase

There was an error processing the payment: Using a SEPA Debit Source in the payment_method field has been deprecated and is no longer a valid integration path. Please migrate your Source objects to PaymentMethods using the Dashboard migration tooling here: https://dashboard.stripe.com/sources-migration

  • Purchasing a subscription

There was an error processing the payment: Using a SEPA Debit Source in the payment_method field has been deprecated and is no longer a valid integration path. Please migrate your Source objects to PaymentMethods using the Dashboard migration tooling here: https://dashboard.stripe.com/sources-migration

  • Purchasing a subscription with a free trial

SEPA Debit Sources used as a PaymentMethod are not supported with the Setup Intents API. These Sources have mandate information and thus are already "set up"

  • Changing the payment method of a subscription as a shopper

SEPA Debit Sources used as a PaymentMethod are not supported with the Setup Intents API. These Sources have mandate information and thus are already "set up".

✔️ Subscription renewals work as expected in my tests when using a SEPA source with the Payment Methods API.


I didn't get the message from the initial report when testing different flows, though. Consistent replication steps would be appreciated, but we'll continue checking these in the meantime.

SEPA Debit Sources used as a PaymentMethod have mandate information already stored. You cannot pass the mandate_data or mandate parameters. Please re-confirm without those parameters.

from woocommerce-gateway-stripe.

a-danae avatar a-danae commented on July 29, 2024 1

We've created the following two issues for the reported behaviors:

I'm closing this issue in favor of those two, which are more specific to the problems merchants are facing.

from woocommerce-gateway-stripe.

mriyazuddin avatar mriyazuddin commented on July 29, 2024
  • #8035522-zd

from woocommerce-gateway-stripe.

namiokuzono avatar namiokuzono commented on July 29, 2024

8056842-zd-a8c

This issue impacts merchants with subscriptions and its renewal payments.

Would like any insight on how one might workaround this issue. Is downgrading Stripe version the best way to handle?

from woocommerce-gateway-stripe.

carolframen avatar carolframen commented on July 29, 2024

8104366-zen

from woocommerce-gateway-stripe.

RiaanKnoetze avatar RiaanKnoetze commented on July 29, 2024

From the forum post, a community member shared the following workaround:


Manually:

  • You have to first go to the subscription, within the subscription, edit the billing information (pencil icon), search for the payment method and select the recorded SEPA mandate.
  • Now you can change the payment method in the order related to the subscription, in the same way, edit the billing information (pencil icon). If you don’t subscribe first, it won’t leave you in the order.
  • Change the status to pending payment and in order of actions you can try to collect the subscription again.

Bulk editing:

  • I did the bulk editing with the WP Sheet Editor plugin, the payment method field is read-only by default, but it can be changed and modified with the right click. The process is the same as manual, first the subscriptions and then the generated orders.

from woocommerce-gateway-stripe.

Mayisha avatar Mayisha commented on July 29, 2024

8119078-zd-a8c

A similar issue has been reported here. After updating the Stripe plugin the merchant enabled the new checkout experience. Customers who had previously purchased from their store using SEPA are getting the following error and the same error is recorded in the order notes as well.

SEPA Debit Sources used as a PaymentMethod are not supported with the Setup Intents API. These Sources have mandate information and thus are already 'set up'.

The error message is different from the one in the description but the possible reproduction steps are the same. This started happening after enabling the new checkout experience and for customers who had used SEPA in the legacy experience prior to the update. Note that, the payment gets completed for this merchant when customer tries again (it is not clear from the discussion if the customer retired with the same saved SEPA payment token or a new SEPA token)

from woocommerce-gateway-stripe.

shameemreza avatar shameemreza commented on July 29, 2024

Another report here: 8104366-zen
Forum thread: https://wordpress.org/support/topic/upe-sepa-not-working/

There was an error processing the payment: Using a SEPA Debit Source in the payment_method field has been deprecated and is no longer a valid integration path. Please migrate your Source objects to PaymentMethods using the Dashboard migration tooling here https://dashboard.stripe.com/sources-migration

from woocommerce-gateway-stripe.

hesne avatar hesne commented on July 29, 2024

@RiaanKnoetze This will not help. I get the same error when changing it manually.

from woocommerce-gateway-stripe.

namiokuzono avatar namiokuzono commented on July 29, 2024

8090629-zd-a8c

from woocommerce-gateway-stripe.

carolframen avatar carolframen commented on July 29, 2024

8130440-zen

from woocommerce-gateway-stripe.

sverleis avatar sverleis commented on July 29, 2024

8135622-zen

from woocommerce-gateway-stripe.

Thelmachido avatar Thelmachido commented on July 29, 2024

8135622-zd-a8c

This issue impacts merchants with subscriptions and their renewal payments.

As @namiokuzono asked should we suggest a downgrade?

from woocommerce-gateway-stripe.

OmarFPG avatar OmarFPG commented on July 29, 2024

Another one with:

Using a SEPA Debit Source in the payment_method field has been deprecated and is no longer a valid integration path. Please migrate your Source objects to PaymentMethods

I see other cases with this error message shared here. Are they related or should we open a separate GH issue?

8115012-zd

from woocommerce-gateway-stripe.

shohanhossainnab avatar shohanhossainnab commented on July 29, 2024

8049601-zen

from woocommerce-gateway-stripe.

shameemreza avatar shameemreza commented on July 29, 2024

Possibly another report: 8168237-zen

from woocommerce-gateway-stripe.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.