#scif0642
1 messages · Page 1 of 1 (latest)
Hi there, how can I help?
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)
What are the event IDs?
evt_1OXFtiChMfoWHRa7DpMEw2bJ
evt_1OXFntChMfoWHRa7lkydwbrz
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.
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 ?
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.
https://stripe.com/docs/payments/checkout/fulfill-orders#delayed-notification You can check this doc to learn more about how to handle payment status for delayed notification payment methods.
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
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.
https://stripe.com/docs/payments/checkout/fulfill-orders#delayed-notification you can use the example code here to update your webhook integration.
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»
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.