I just checked here. And it seem that Stripe recommends different work flow now. Create a charge | Stripe API Reference
Blockquote Create a charge
Use the Payment Intents API to initiate a new payment instead of using this “charge” method. Confirmation of the PaymentIntent creates the Charge object used to request payment, so this method is limited to legacy integrations.
Here is the Stripe docs going over the payment flow Accept a payment | Stripe Documentation