How Creating a Payment Intent Actually Works in Stripe
POST /v1/payment_intents creates the object that tracks a payment through its full lifecycle, requiring at minimum an amount (in the currency's smallest unit, like cents for USD) and a currency code.
Real API Details
Creating the intent alone doesn't charge anything -- by default it starts in a status like requires_payment_method or requires_confirmation, and the actual charge attempt only happens on confirmation, either as a separate call or by passing confirm: true in the same create request.
Practical Considerations
Setting automatic_payment_methods to enabled: true lets Stripe decide which payment methods to offer based on the customer's details and your Dashboard settings, rather than having to list payment_method_types explicitly yourself.
Use cases
Practical automation patterns using Stripe Payment Intents.
- Pre-create intents for upcoming orders to reduce checkout latency.
- Reserve funds and validate payment methods before presenting a checkout to customers.
- Integrate with fraud checks by creating intents prior to risk assessment steps.
- Capture funds automatically when fulfillment events occur.
