Our organisation sells extremely in demand tickets for events, where stock is typically limited. Users would get extremely angry if they lost their tickets once they have been allocated & the user is in the checkout funnel.
I have been thinking about the best way to handle the small number of cases where we may not get a response from our payments service. (+ 60secs)
1. Should we assume the payment has failed and prompt the user to pay again, setting up something on the backend to alert staff on potential duplicate payments that can then be refunded.
2. Or, should we take them though to some purgatory style page, where we inform them their order may have gone through & periodically call the status of the order to check if the status has changed to paid. Maybe also give the user the option to cancel out & re-attempt payment.
I am leaning towards the former as it seems the experience & messaging would be a little vague in the latter.
Any thoughts on best practices?