#dmitry-zip

1 messages · Page 1 of 1 (latest)

simple hullBOT
cobalt sand
#

Can I assume that if this call is successful and the created PaymentIntent has a "succeeded" status, then the payment is fully completed, and I can mark it as such in my system?
Yes, succeeded state indicates a successful payment: https://stripe.com/docs/payments/paymentintents/lifecycle

In other words, in case of a "succeeded" PaymentIntent, I don't need to wait for a webhook to see the 'final' status of the payment? (I am only using card payments)
General recommendation is to still do any post-payment logic/fulfilment in a webhook though

Learn how PaymentIntents work within the payment flow.

fluid nova
#

Yeah, I can understand that in case of a failed payment request (due to connection issues, etc), the most reliable way to know the outcome is listen to a webhook.
But if the request is successful, and I receive a "succeeded" payment intent, then this should be a 100% reliable indicator that the payment is completed, right?

cobalt sand
#

Yes, but that's not the only factor that could interrupt any post-payment logic from being executed

#

What if your server were to go down, or there were connectivity issues after the payment? That DB write would probably fail

#

With the webhooks, there are retries for such issues

fluid nova
#

okay, got it

#

Also, in case of card payments, is it possible for the payment intent to come back in a "processing" status?
During testing, when I receive a 200 response from Stripe, the payment intent is always "succeeded".

cobalt sand
#

Not for cards, no. They're synchronous. processing is relevant for async PMs, like banking methods

fluid nova
#

Okay, thanks for your help!