¿Cómo evito vender dos veces el mismo producto en mi tienda online?
Reserva de stock · En inglés: Stock reservation (inventory locking) · Pagos
Con una reserva de stock: apenas alguien empieza a pagar, el sistema aparta el producto y lo libera si el pago no se completa a tiempo. Así, si dos personas intentan comprar lo mismo casi al tiempo, solo una se lo lleva.
Qué es Reserva de stock, paso a paso
Cuando un producto es único o quedan pocas unidades, dos personas pueden intentar comprarlo casi al mismo tiempo. Una reserva de stock lo aparta en el servidor apenas alguien empieza a pagar y lo libera si el pago no se completa a tiempo.
Se llama atómica cuando la base de datos hace la revisión y el apartado en un solo paso indivisible, con el registro bloqueado un instante. Si llegan dos intentos juntos, uno espera al otro y el segundo encuentra el stock en cero.
Vender dos veces lo mismo obliga a devolver dinero y a pedir disculpas a un cliente que ya había decidido. En una tienda de productos únicos o de pocas unidades, ese choque puede pasar cualquier día con dos clientes interesados en lo mismo.
Lo mismo, en pequeño y en grande
Una tienda de piezas únicas
Una tienda vende un bolso del que solo hay uno. Dos clientes lo quieren a la vez. El sistema se lo aparta a quien llegó primero a pagar, y el otro ve un aviso amable, con opciones parecidas, en vez de una compra que luego hay que devolver.
Una tienda con productos de poca existencia
Una tienda con muchas referencias de pocas unidades aparta cada producto mientras se paga y lo libera solo si el pago no se completa. Así nadie queda con un equipo "apartado para siempre" por un pago abandonado.
Cómo lo usamos en Damorus
En URG Technology casi todo es unidad única, y la primera versión dejaba pasar a dos compradores y acumulaba stock fantasma, equipos apartados para siempre por pagos abandonados. La solución fue una reserva atómica en PostgreSQL, una regla que impide apartar más de lo que existe, liberación automática cada dos minutos y cancelación cruzada entre Mercado Pago y el pago inmediato. Quien pierde la carrera ve "¡Alguien fue más veloz!", un botón hacia equipos parecidos y, por correo, un cupón del 5 %.
Pon a prueba lo que leíste
Elige A, B o C. Si fallas, lees el porqué y pruebas otra vez.
Quedó una sola unidad y dos clientes pagan casi en el mismo segundo. ¿Qué debería pasar?
Aprende jugando
¿Dónde se perdió?
¿Dónde se perdió?
Otros temas que te pueden interesar
También se le dice
