woocommerce-gateway-stripe
woocommerce-gateway-stripe copied to clipboard
Unexpected behavior after enabling "new checkout"
Describe the bug
We use the WooCommerce Subscriptions plugin and sell both one-off and subscription products. After enabling the "new checkout," I noticed that older saved credit cards (having tokens beginning with src_
) were no longer visible on /checkout/
or /my-account/payment-methods/
. I know why this is: https://github.com/woocommerce/woocommerce-gateway-stripe/pull/3241. The related changelog entry states, "Prevent saved SEPA Sources from being displayed as available payment methods when the Updated checkout experience is enabled." However, we're not using SEPA Sources at all: every single one of our payment tokens is for a credit card. Per Stripe's Payment Methods API docs, "If you previously collected card customer payment details with Stripe using cards or Sources, you can start using the Payment Methods API immediately without migrating any payment information."
In light of this, shouldn't the plugin allow src_
tokens with type 'CC'
to continue to be available for customers to use?
To Reproduce
- Enable "new checkout" on a test store that has legacy
src_
Credit Card (CC) tokens - Start a checkout (or navigate to
/my-account/payment-methods/
) for a user that has asrc_
CC token - Note that the card is not presented to the user
Expected behavior
Old src_
CC tokens remain usable by customers. The current behavior is confusing, as recurring subscriptions do continue to reference the old cards, but those cards are no longer accessible for use/management by the user. Again, Stripe says they support usage of old credit card sources with the new Payment Methods API. If they didn't, we'd have a very big problem on our hands, as subscription renewals would start failing until customers added a new card (or we figured out how to do a migration). Notably, a migration tool is available for folks who've accepted SEPA payments in the past, but this is irrelevant to card payments (as reinforced by another Stripe article titled, "Shutdown of the legacy Sources API for non-card payment methods").
Environment (please complete the following information):
- WordPress Version - 6.6.2
- WooCommerce Version - 9.3.2
- Stripe Plugin Version - 8.7.0
- WooCommerce Subscriptions - 6.7.0
Thanks in advance for looking into this!