Earlier quoted context omitted.
Please also make using Elements with Stripe.js v3 fully optional. We finished migrating to SCA-enabled payment flow not few days ago. Apparently, you can't create a PaymentMethod instance without using Elements and we don't have the time (nor do we see any practical need) to redo the frontend with them. So the end result is a Frankestein-style frontend that uses the v3, but with a fair share of v2 methods, because it…
Elements is not a requirement to create a PaymentMethod. The recommended path factors in PCI stuff etc. Feel free to email me to lx@stripe.com
According to [1] it is required and there's no other (documented) way to do it.
Ditto for stripe.createToken() [2].
In fact, there's no word in the docs on how to feed raw card data into the v3 at all.
So we had no choice but to use Stripe.card.createToken() from the v2, but then also use stripe.handleCardAction() from the v3 for confirmation... it's a mess. What did we miss?
[1] https://stripe.com/docs/stripe-js/reference#stripe-create-pa...
[2] https://stripe.com/docs/stripe-js/reference#stripe-create-to...