#scif0642

1 messages · Page 1 of 1 (latest)

solar fractalBOT
lost vector
#

Hi there, how can I help?

dry sandal
#

Is this expected to have two different checkout session completed events?

#

That's really misleading

#

As far as I understood, I cannot rely on status of first event as it can be changed further (as on the screenshot)

lost vector
#

What are the event IDs?

dry sandal
#

evt_1OXFtiChMfoWHRa7DpMEw2bJ
evt_1OXFntChMfoWHRa7lkydwbrz

lost vector
#

These are two different event, one is checkout.session.completed, it tells that the customer has completed the checkout. The other one ischeckout.session.async_payment_succeeded, which tells you the payment succeeded.

dry sandal
#

And the payment is succeeded after the completion of session with status=unpaid. Godlike logic 🙂

#

Anyway, is there any chance I can determine that payment is still can be successfully completed on receiving checkout.session.completed ?

lost vector
#

sepa_debit is a delayed notification payment method, and that's why Stripe can't determine the payment status upon checkout completion.
SEPA Direct Debit is a reusable, delayed notification payment method. This means that it can take up to 14 business days to receive notification on the success or failure of a payment after you initiate a debit from the customer’s account, though the average is five business days.

dry sandal
#

I know, but this is STripe Checkout so I don't know which method was chosen

#

Closing the session with status=unpaid but allow to pay it afterwards is far not intuitive

lost vector
#

You don't need to know the exact payment method your customer uses. You can check the checkout session's payment_status. If it's unpaid, it means the payment funds are not yet available in your account, and you should expect a checkout.session.async_payment_succeeded or checkout.session.async_payment_failed to tell you the final payment status.

dry sandal
#

You didn't get my problem. The customer is redirected to «we are verifying your payment, please wait» and I need to know whether to show this page continuously or redirect customer back to payment with a phrase «your payment was not succesful»

lost vector
#

If the payment_status is unpaid, you should inform your customer that the payment is being processed, and you can notfiy them when you receive the checkout.session.async_payment_succeeded or checkout.session.async_payment_failed.