#JamaicaF

1 messages · Page 1 of 1 (latest)

young hazelBOT
grave crystal
#

Hi 👋

Do you have an example payment intent?

half raft
#

Yes one minute

#

here is the original failed payment intent: pi_3M4orMKN1ApXu8y51E99KI1H
And here is the successful retry: pi_3MFkYcKN1ApXu8y50YLRlbtT

#

and another example:
here's the original failed payment intent: pi_3M4orMKN1ApXu8y51E99KI1H
Successful retry: pi_3MFkYcKN1ApXu8y50YLRlbtT

grave crystal
#

You shouldn't need to create new Payment Intents to retry the charge. You can retry the same Payment Intent. The first intent was canceled after confirmation failed and then when the second intent was created the statement descriptor suffix was not included

#

To Stripe, there is no relationship between the first and second PIs. Your integration would need to include the statement_descriptor_suffix in the second PI creation request.

half raft
#

I'm confused. I was not the developer on the original integration, however i thought retry was automated on your end

#

Who is canceling the first one at failure?

#

And who is generating the second one?

#

The issue was first identified b/c as far as i know it is impossible to generate a payment intent from our system without some type of descriptor

grave crystal
#

This forum is for developers writing code. The retry is not automated on our end.

#

Your integration cancels the Payment Intent

#

Using your secret key

#

The follow up payment intent is also created from your integration without the statement descriptor suffix

half raft
#

you're saying that when the payment intent is declined by the bank it should not be cancelled?

#

what state should be remain in if there is a bank decline?

grave crystal
#

Once the bank declines the Payment Intent falls back to a status of needs_source. It is in the same state as before the charge was attempted.

#

You can use the same PI to make another attempt to collect payment

half raft
#

got it

#

okay i will look at the fallback logic and reach out again if needed. thanks i guess that's it for now!