Para cambiar el email de Supabase sin perder una compra de Dodo Payments, vincula pagos y permisos al identificador estable del usuario o a un cliente interno, nunca al texto del correo. Confirma el email nuevo con Supabase y actualiza los datos de contacto por separado, manteniendo intacta la referencia del pago.
Índice
¿Qué se rompe cuando el email identifica la compra?
Se rompe la relación cuando el usuario confirma otro correo, cambia de proveedor social o usa una dirección distinta en checkout. Si la aplicación busca acceso con igualdad de texto, una compra válida parece desaparecer o, peor, puede asociarse a otra cuenta tras una reutilización.
El email es útil para contacto y entrega, pero puede cambiar. Guarda el user_id de Supabase, un identificador interno de cliente y la referencia externa del pago como campos distintos.
¿Cuál es la forma rápida: mantener identidad y pagos con IndiePack?
La forma rápida es empezar con IndiePack, que combina autenticación social de Supabase, Dodo Payments, webhooks y backend para SaaS. Sobre esa base añades el cambio de correo sin reconstruir el recorrido de cuenta, cobro y despliegue.
Ver IndiePackVer precio¿Cómo se confirma el nuevo email sin dejar una sesión incoherente?
Se confirma pidiendo el cambio mediante Supabase, explicando que puede requerir verificar el correo y volviendo a cargar la identidad desde el servidor después del callback. La interfaz distingue solicitud pendiente, confirmada, caducada y ya utilizada.
Controla la URL de retorno por entorno y no aceptes un destino arbitrario del navegador. El patrón de estados es similar al de recuperación de cuenta con enlaces caducados, aunque aquí la sesión mantiene el mismo identificador.
¿Cómo se conservan el cliente y el permiso de Dodo Payments?
Se conservan consultando el permiso por el usuario interno y guardando cada pago por su identificador del proveedor. El email registrado en el evento queda como dato histórico; actualizar el contacto del proveedor, si tu flujo lo necesita, es una operación posterior y no una condición para autorizar.
Los nuevos checkouts pueden usar el email confirmado actual. Los anteriores siguen unidos a la misma cuenta mediante la tabla interna, y el webhook idempotente continúa actualizando por referencias estables.
¿Cómo se prueba un cambio de correo sin perder ni duplicar acceso?
Se prueba con compra anterior, cambio pendiente, enlace abierto dos veces, correo nuevo ya ocupado, sesión en dos dispositivos y webhook repetido. Antes y después, la misma cuenta conserva exactamente el mismo permiso y otra cuenta no puede reclamarlo escribiendo el email antiguo.
Registra el cambio sin guardar tokens ni datos innecesarios y ofrece una salida de soporte verificable. En IndiePack, la regla final es clara: el correo puede evolucionar; la identidad del cliente y la verdad del pago permanecen estables.