💼 Valor de negocio#
Convierte cobros duplicados —que se devuelven de a uno, con costo de soporte y de reputación— en un número que se puede poner en un panel: cuántos duplicados se evitaron.
🎯 Resultado de negocio#
Elimina cobros y notificaciones duplicadas por reintentos del cliente, y evita el costo de soporte y devolución que cada uno genera.
🧾 Qué deja como prueba#
- Contrasta
/charge-unsafey/charge-idempotentsobre los mismos N reintentos de una misma clave. - Hace visible
overcharged_cents: la plata que el negocio tendría que devolver, en la unidad en que se discute. - Expone
/outboxcon pendientes y entregados, para ver que el efecto que cruza el boundary no se desincroniza del cargo.
👀 Qué mirar al evaluarlo#
- Si
charges_appliedes igual aattemptssin clave y exactamente 1 con ella. - Si
duplicates_preventeddaattempts - 1: es la prueba de que los reintentos se reconocieron como tales. - Si
side_effects_emittedbaja de N a 1, y el transporte pasa de directo a outbox.
ℹ️ Estas tres secciones se mantienen sincronizadas con
shared/catalog/cases.json, la misma fuente que alimenta al portal y al catálogo.
Caso 16 · Idempotencia y efectos duplicados — ⬅️ README del caso · ⚖️ Comparativa de los 7 stacks
🗺️ Contexto · 🩺 Síntomas · 🔍 Diagnóstico · 🧠 Causas raíz · 🛠️ Opciones de solución · ⚖️ Trade-offs · 💼 Valor de negocio · 🚨 Postmortem