However:
PaymentIntent, InvoiceCreationIntent, InvoiceCreationSession, InvoiceCharge. InvoiceChargeIntent, InvoiceChargeSession, InvoiceChargeSessionIntent, InvoiceChargeSessionIntentSession, InvoiceChargeSucceed, InvoicePaid, InvoiceFinalized, and so on.
All of those can absolutely be explained in a way that justifies their existence.
But in the end systems end up incurring so much mental tax that no one wants to really have to do anything with it.
Stripe began as a company to outsource complexity to and then grew to become a source of complexity itself.
https://www.joelonsoftware.com/2001/04/21/dont-let-architect...