Hola, tengo desarrollado un sistema de venta de entradas online bastante curioso, y lo único que me falta es solventar un problemilla.
El flujo normal es este:
- usuario selecciona cuántas entradas quiere (siempre y cuando haya stock)
- usuario rellena sus datos y pulsa Comprar (botón que redirige a la pasarela de pago)
- en este punto se ejecuta un script intermedio que hace una "prereserva", guardando datos de entradas, cliente y eso. - se redigire a la pasarela de pago
- rellena todos los datos de la tarjeta y realiza la compra
- se ejecuta en segundo plano el script que actualiza la base de datos con que las entradas han sido pagadas, etc.
Vale, ahora mi problema surge cuando tengo stock 5 por ejemplo para una entrada, y dos usuarios intentan comprar a la vez. En qué punto del proceso tengo que avisar al usuario que vaya por detrás de que ya no queda stock porque otro se le ha adelantado?
Es decir, sé lo que tengo que hacer pero no cómo hacerlo. En mi script intermedio (el punto que he puesto en cursiva) es donde guardo la información de lo que se compra, cantidades, etc. Digamos que llegado a ese punto, el usuario 1 (el que va por delante) ya tiene reservadas las 5 entradas hasta que finalice la compra, pero qué pasa si no finaliza y cierra el navegador al llegar a la pasarela de pago? No tengo manera de decirle a mi sistema, ya que la pasarela es un enlace externo, que el usuario no ha comprado nada porque no hay ningún tipo de respuesta...
Ayuda please ^^