ENTREGA TÉCNICA
La migración no termina al crear las suscripciones de destino
La aplicación del comprador debe operar con la cuenta de destino y comprender los nuevos objetos. Tratar la migración de facturación y el despliegue de aplicación como frentes separados produce fallos silenciosos: clientes cobrados sin acceso, eventos ignorados o datos actualizados en la cuenta antigua.
La respuesta directa
Actualiza las credenciales y todos los identificadores de cuenta, verifica webhooks con secretos nuevos, adapta portal, recobro, analítica y permisos, y concilia cada cliente y suscripción. Realiza el despliegue dentro del mismo plan de corte y vigila las primeras renovaciones antes de considerar aceptada la entrega.
Revisión técnica: 24 de julio de 2026
Inventariar el contrato entre la aplicación y Stripe
Busca cada lugar donde el producto guarda o utiliza un identificador Stripe: cuenta, cliente, suscripción, producto, precio, método de pago, factura, calendario, cupón, portal o Connect si corresponde. Incluye bases de datos, variables de entorno, tareas programadas, paneles internos, soporte y almacenes analíticos.
Después, haz un inventario del comportamiento: creación y actualización de clientes, altas, cambios de plan, cancelaciones, facturas, gestión de impagos, impuestos, portal de clientes y concesión de acceso. Asigna un responsable y una prueba a cada integración. No dependas solo de una búsqueda textual; algunos identificadores pueden estar en datos o configuraciones externas.
- Variables y secretos por entorno y cuenta.
- Columnas y relaciones de la base de datos con identificadores de Stripe.
- Endpoints, destinos de eventos y secretos de firma.
- Procesos de acceso, portal, soporte, informes y recobro.
Construir y validar el mapa de identificadores
Según la documentación de Stripe, la copia de clientes puede conservar actualmente el identificador del objeto Customer, mientras que los métodos de pago cambian de identificador. Las nuevas suscripciones siempre tienen identificadores de destino. No extrapoles una regla de un tipo de objeto a otro ni codifiques un supuesto sin conciliar el resultado real.
Crea una tabla que relacione origen y destino y conserve estado, hora, lote y excepción. Asegura unicidad y cobertura: una fila de origen no debería apuntar accidentalmente a dos destinos ni quedar sin clasificación. Las decisiones sobre clientes compartidos necesitan una regla explícita.
Prueba consultas, actualizaciones y permisos con los identificadores de destino antes del corte. Mantén el mapa del modo de prueba separado del de producción, porque los objetos de ambos modos son diferentes.
Cambiar credenciales con mínimo privilegio
Las claves usadas para la migración no deben convertirse en las claves permanentes de la aplicación. Crea credenciales de producción específicas para el comprador, con alcance apropiado, almacén de secretos, propietarios y rotación. Elimina del código, registros y procesos cualquier secreto del vendedor.
Despliega mediante un cambio controlado y verificable. Comprueba el `acct_…` devuelto por la API, no solo que una solicitud responda. Restringe temporalmente operaciones de escritura que puedan dirigirse a la cuenta equivocada y define cómo detener el despliegue.
- 1 Preparar secretos del destino y confirmar sus permisos.
- 2 Actualizar entorno, tareas y servicios en una ventana coordinada.
- 3 Realizar una comprobación de cuenta y lecturas esperadas.
- 4 Rotar o revocar secretos anteriores cuando el corte esté estable.
Recrear y verificar webhooks
Los endpoints de webhook y sus secretos de firma pertenecen a la cuenta. Configura en destino los eventos necesarios y guarda el nuevo secreto. Verifica la firma sobre el cuerpo sin modificar y responde con rapidez; procesa la lógica pesada de forma asíncrona cuando corresponda.
Stripe no garantiza el orden de los eventos y puede reenviarlos. Haz el consumidor idempotente, guarda los identificadores procesados y recupera el objeto actual cuando el estado dependa de eventos anteriores. Durante el corte, observa tanto origen como destino para detectar tráfico inesperado.
Prueba un pago correcto, un pago fallido, una autenticación requerida, un cambio de suscripción, una cancelación y un reembolso. La lista exacta depende del producto; suscribirse a todos los eventos sin una razón puede aumentar el ruido y los permisos.
Proteger permisos y conciliar renovaciones
Define el acceso del usuario mediante un estado de negocio y no por la llegada de un único webhook. Una suscripción `active` no asegura que toda factura esté pagada; un evento retrasado tampoco debe revocar acceso incorrectamente. Documenta periodos de gracia y recuperación.
Antes de desactivar el origen, compara población, configuración y estado. Después, vigila las primeras renovaciones y concilia importe, moneda, fecha, factura, pago y acceso. Los errores deben quedar en una cola con propietario; no se ocultan como «éxitos parciales».
La aplicación solo se considera entregada cuando el comprador puede operar altas, cambios, bajas, portal, soporte y recobro desde su cuenta y cuando la evidencia confirma que el origen ya no interviene fuera del alcance histórico acordado.
Preguntas frecuentes
¿Puedo conservar los mismos identificadores después de migrar?
No para todos los objetos. Las suscripciones nuevas y los métodos de pago copiados reciben identificadores nuevos. Stripe indica actualmente que los identificadores de los objetos Customer copiados se conservan, pero debes conciliar el resultado real.
¿Puedo reutilizar el secreto de webhook anterior?
No. El endpoint de destino tiene su propio secreto de firma. La aplicación debe guardar y verificar el secreto correspondiente a la nueva cuenta.
¿Cuándo se considera terminada la entrega técnica?
Cuando la aplicación usa el destino, los mapeos están conciliados, los webhooks y permisos funcionan, el origen está desactivado según el plan y las primeras renovaciones cumplen los criterios de aceptación.
Fuentes y base técnica
- Stripe: prácticas recomendadas para proteger claves API — Stripe (se abre en una pestaña nueva)
- Stripe: recibir y verificar webhooks — Stripe (se abre en una pestaña nueva)
- Stripe Billing: usar webhooks con suscripciones — Stripe (se abre en una pestaña nueva)
- Stripe: datos que pueden copiarse entre cuentas — Stripe (se abre en una pestaña nueva)