Payments involving asynchronous processes can be complex to manage. For example, a user might be required to confirm a payment using 3D Secure. Asynchronous payment flows are hard to manage because they depend on customer interactions that happen outside of your application. PaymentIntents and SetupIntents simplify management by tracking the status of the flow in a state machine.
1 Versions of the API before 2019-02-11 show
requires_source instead of
requires_source_action instead of
2 You can cancel a PaymentIntent in the
processing state when the associated Payment Method is US Bank Account.