#cbauer - webhooks
1 messages · Page 1 of 1 (latest)
What are you building/selling? Just want to get a better understanding of your overall integration
We are selling courses, some of which may be booked shortly before the course starts, so we cannot wait a long time for the "succeeded" event.
Ah ok. Yeah an option would be to action upon the payment_intent.processing event then. And then if it does eventually fail, you can just revoke access or suspend access until the customer has a chance to provide valid payment info with a success
Is this a normal approach/best practice? It seems weird. The problem that arises: We then have some fake orders -> Any idea how to handle those or how others handle it?
👋
Stepping in as codename_duchess needs to step away
Yeah overall this is the normal way here. You can also send booking confirmations based on the session success itself and then use webhooks in case the customer drops off before reaching your success code.
Not sure I totally understand how this leads to a greater problem with fake orders.
Can you explain what you mean by that?
The response time is awesome btw THANK YOU
The fact that some orders won't move to actual success will always be an inventory management challenge and you just need to not oversell your capacity
lets say we offer a course. sb buys it using SEPA payment method (takes the longest). He clicks "Order" on our page -> Event PI.processing -> We send out confirmation -> He can access the course -> He never pays, there is never a PI.succeeded Event, but he was still able to access it
the other option: we wait until PI.succeded -> I cannot buy a course on the same day using SEPA
Yeah this really just depends on your model and whether you want to offer access to a course during the processing time.
You would make sure you listen for payment_intent.payment_failed as well
And if the payment does fail, you revoke access
ok, ill look into that (i need to check how i can make sure that i'm not revoking access if the user has tried several payment methods and one worked and another didnt, but the payment_failed comes after the succeeded event)
I might get back to you, sorry! Thank you for your time!