#heymato

1 messages ยท Page 1 of 1 (latest)

fossil robinBOT
surreal ridge
#

hi! means you need to confirm it on the frontend generally, to attempt a payment.

sturdy mantle
#

But it is an action that has to be done by the customer right?

surreal ridge
#

in most integrations, yes

#

do you have more context like an actual PaymentIntent pi_xxx that is like this or context on the code you're using/guides you're following?

sturdy mantle
#

yes I can give you the payment intent id

#

pi_3MHnJDEzohgVwKXw1EDMPPdz

storm dragon
#

Thanks
Could you please share what guide are you following for your integration?

sturdy mantle
#

what do you mean about that ?

storm dragon
storm dragon
sturdy mantle
#

When a customer goes from the cart page to the checkout, I check if an intent is been made or not.
When there is already an intent, I update it with 'what ever' is changes. Amount shipping address....

#

Then when you go to the payment page (in which I have a PaymentElement ) I use client secret and payment intent ID to handle all the stuff

#

if a success, I ink to the same page and check the status of the payment intent. If payment succeeded, I redirect to a success page, if not succeeded, I give them the payment element again so they can try to use different payment methods

storm dragon
#

I see, thanks. So for that particular PaymentIntent, the customer needed to complete card authentication, however, before they could do it, your app updated the Payment Intent again, so it required confirmation again.
The initial confirmation happened at 2022-12-22 11:52:21 UTC and you updated the PI at 2022-12-22 11:52:29 UTC.
It means your app is updating the PaymentIntent somewhere on the background that prevents successful payment completion

sturdy mantle
#

ah ok

#

So this is not good

#

Does this mean this customer would never be able to pay ?

storm dragon
#

You need to investigate what is causing multiple PI updates on your backend while the checkout is in progress and stop it. Then your customer will be able to complete the payments.

sturdy mantle
#

OK

#

Just another question, this happens because someone has a 3D secure popup/window, and then confirms. So I'm not sure that would trigger one of my scripts. But perhaps I'm seeing this wrong

#
  • when de customer confirmed, does this mean the transfer of the money has been done also?
storm dragon
#

When the user completes the 3DSecure (card authentication), the PI status turns succeeded (or back to requires_payment_method if it fails). After that it takes a few days to appear on your balance.

sturdy mantle
#

But in the PI example I gave you, will this person get billed or not?

#

and this person had a 3Dsecure payment or not ?

#

I want to understand where in my code it went wrong...

storm dragon
#

When they confirmed the payment on the frontend, status went from requires_confirmation to requires_action. Then they were likely (depending on your integration) presented with 3DS popup. However, while they were trying to complete it, your backend has updated the PI so the result of the 3DS was discarded, and the PI status went back to requires_confirmation

sturdy mantle
#

OK.

#

Is it safe to say, once a payment state is requires_action, it cannot be set to requires_confirmation again?

storm dragon
#

If you update the PI in requires_action state, it will go back to requires_confirmation

sturdy mantle
#

Sorry I'm not following so quickly, but I'm not sure what is happening at the moment. The problem here is a script of me that updates the payment intent after an action of the customer.

#

Do you know if this comes from a webhook or ?

storm dragon
#

The updates come from your backend

sturdy mantle
#

this means the person in particular will get billed ?

#

even if afterwards status is set back to "requires_confirmation"?

storm dragon
#

No, requires_action happens before the customer completes the payment, after that, the status turns succeeded

sturdy mantle
#

Do you have an idea of that ?

minor marten
#

Hello ๐Ÿ‘‹
Stepping in as vanya had to step away

sturdy mantle
#

OK

minor marten
#

it seems like this is a long running thread. Can you provide a short summary on what you're trying to do and what are you currently blocked on?

#

while I catch up

sturdy mantle
#

Yes ofcourse.

minor marten
#

thank you

sturdy mantle
#

there is a problem with payments on our side, Vanya told me states of payments are being overridden by scripts on my backend and that that is the reason they are not able to pay

minor marten
#

It looks like there is something on your server-side code which keeps updating the PaymentIntent even after you've confirmed the PaymentIntent

Confirmation request (which takes the PaymentIntent to requires_action state since payment method is ideal you may need to perform extra steps to complete the payment):
https://dashboard.stripe.com/logs/req_7lBtWLchwAvnW1

Update example (happens after confirmation):
https://dashboard.stripe.com/logs/req_s3si4SQIvtrLth
https://dashboard.stripe.com/logs/req_WOL4QDmJEZrtcf
(... there are more)

The update causes the PaymentIntent to go back to requires_confirmation status (where your customer would need to confirm the PaymentIntent client-side)

sturdy mantle
#

And can you see if this comes from a webhook ?

#

and if so, which one ?

minor marten
#

You maybe able to look at the IP address in the dashboard and figure out which server is calling this.

sturdy mantle
#

ok

#

thanks for the information

#

I will look closer at this

minor marten
#

NP! ๐Ÿ™‚ Sorry for the delay

sturdy mantle
#

No not a problem. I just think I'm in some trouble right now ...

#

But thanks for the help

minor marten
#

๐Ÿ‘