La respuesta corta
Si tu tarjeta fue realmente rechazada, la negativa vino de tu banco a través de Stripe, no de Whizi, así que la solución es usar otra tarjeta o llamar a tu banco. Por qué los bancos bloquean los pagos de suscripciones de IA y cómo distinguir cuál de las seis causas afectó tu caso está explicado en pagar por IA cuando tu tarjeta es rechazada. Whizi no muestra ningún mensaje de tarjeta rechazada en el pago. Los datos de la tarjeta se introducen en la página de pago alojada por Stripe, que está fuera del código de Whizi, así que la respuesta del banco llega a Stripe y nunca alcanza a Whizi.
Así que si viste un error con la redacción propia de Whizi, no fue un rechazo. Fue una de las cadenas de abajo, y cada una tiene una causa y una solución distintas.
Las tres que más se confunden con un rechazo:
| Lo que viste | Qué significa | Qué hacer |
|---|---|---|
This card has already used its intro trials, so this starts at the full price of seguido de un precio | Esa tarjeta ya tomó la prueba de introducción de 7 días cuatro veces, el límite por tarjeta | No hay nada mal con la tarjeta. Paga el precio completo mostrado, o usa una tarjeta que todavía tenga pruebas disponibles |
Pricing is temporarily unavailable. | Whizi no pudo leer la tabla de precios de Stripe | Espera e inténtalo de nuevo más tarde. Nada de tu lado soluciona esto |
Failed to create Stripe checkout session. | La llamada de pago falló y el backend no dio ningún mensaje | Reinténtalo una vez. Si se repite, contacta con soporte |
Todos los errores que devuelve el backend de Whizi en el pago
Estos vienen del servidor, así que llegan con un estado HTTP y un código de error que soporte puede buscar en un registro de red. Cada cuerpo de error del backend es JSON con la forma {"error": {"code": "...", "message": "..."}}, así que el código va junto al mensaje. Las filas de abajo están ordenadas por estado HTTP.
| Mensaje | HTTP | Código | Se activa cuando |
|---|---|---|---|
A plan and billing cycle are required. | 400 | invalid_checkout_request | No se pudo interpretar el cuerpo de la solicitud de pago |
Invalid plan or billing cycle. | 400 | invalid_plan_or_cycle | El plan o el ciclo no corresponden a un precio conocido de Stripe |
No subscription item found for the active subscription. | 400 | subscription_item_missing | Un cambio de plan en curso se ejecutó contra una suscripción sin ítem asociado |
The supplied discount must be an active 100% promotion code or coupon ID. | 400 | invalid_discount | El código proporcionado no es un código de promoción o cupón activo al 100 por ciento |
Temporary email addresses are not allowed. Please use a permanent email address. | 400 | disposable_email_blocked | El correo de la cuenta con sesión iniciada está en la lista de dominios desechables |
User not found. | 404 | not_found | La ruta de pago no pudo leer tu registro de usuario |
Pricing is temporarily unavailable. | 503 | pricing_unavailable | No se pudo leer la tabla de precios localizada desde Stripe |
Qué hacer con cada uno. Una tarjeta que ya usó sus pruebas de introducción no se rechaza en absoluto, y tiene su propia sección más abajo. Pricing is temporarily unavailable. es del lado del servidor: HTTP 503, se devuelve cuando no se puede leer la tabla de precios localizada desde Stripe, y no hay ningún ajuste en tu cuenta que lo cambie. Failed to create Stripe checkout session. no es un mensaje del servidor en absoluto, por eso no da ninguna razón: es el texto de reserva del propio sitio web, que se muestra cuando la llamada de pago falla y el backend no envía ningún mensaje. Ambos casos son de esperar y reintentar.
A plan and billing cycle are required. y Invalid plan or billing cycle. significan ambos que la solicitud no llevaba un plan que el servidor reconociera, así que empieza de nuevo desde la página de precios y elige ahí el plan y el interruptor mensual o anual, en lugar de reutilizar un enlace de pago antiguo o modificado.
User not found. significa que tu sesión apunta a un registro de usuario que el servidor no puede leer. Cierra sesión, vuelve a iniciarla y empieza el pago de nuevo.
No subscription item found for the active subscription. aparece durante un cambio de plan, no en una primera compra, y no se puede solucionar desde la interfaz. Contacta con soporte.
Errores que muestra el sitio web antes de que se abra el pago
Estos vienen del navegador, no del servidor, así que no tienen código HTTP. Todos significan lo mismo en general: algo falló mientras Whizi preparaba tu cuenta para el traspaso a Stripe, así que nunca se intentó ningún cobro.
| Mensaje | Se activa cuando |
|---|---|
Failed to create Stripe checkout session. | La llamada de pago falló y el backend no dio ningún mensaje |
Could not open checkout. Please try again. | La llamada de pago del modal de actualización falló sin dar ningún mensaje |
Authentication failed. Please sign in again. | La obtención del token no devolvió nada antes del pago |
Failed to save user before checkout. | La llamada previa al pago para guardar el usuario no salió bien |
Could not prepare your account for checkout. | La página de precios no pudo guardar el usuario antes del pago |
Missing user or Stripe customer details. | El id de usuario no estaba presente en el momento del pago |
Checkout response did not include a Stripe URL. | El pago se completó pero no devolvió ni una URL ni un id de suscripción |
Something went wrong while starting your trial. Please try again. | El fallo genérico de inicio de prueba de la página de precios |
Para cualquiera de esta lista, cierra sesión, vuelve a iniciarla y empieza el pago de nuevo desde la página de precios. Eso resuelve los casos en los que la obtención del token no devolvió nada antes del pago, que es lo que reporta Authentication failed. Please sign in again.
Checkout response did not include a Stripe URL. es la excepción: significa que la llamada tuvo éxito. Antes de intentar pagar de nuevo, entra en la configuración de tu cuenta y comprueba si ya existe una suscripción.
Otros dos aparecen en las páginas de inicio de sesión y registro cuando eliges un plan primero y te autenticas después: Signed in, but checkout could not start. Please choose your plan again. y Your account was created, but checkout could not start. Please sign in and choose your plan again. Ambos significan que la parte de la cuenta funcionó y solo falló el traspaso. Tu cuenta existe. Ve a precios y elige el plan de nuevo.
Una última causa de un fallo misterioso: reintentar el pago muchas veces seguidas puede activar el limitador de frecuencia, que devuelve HTTP 429 y Too many requests. Please wait and try again. Cada solicitud de la cuenta, sea cual sea la ruta, cuenta contra un tope de 30 por minuto. Espera un minuto en vez de volver a hacer clic.
Cuando una tarjeta ha usado sus pruebas de introducción
Cada tarjeta puede tomar la prueba de introducción de 7 días hasta cuatro veces. El conteo sigue la huella de la tarjeta y no la cuenta, así que abrir una cuenta nueva con la misma tarjeta no lo reinicia.
Cuando una tarjeta llega a ese límite, el pago no se rechaza. Se abre al precio completo del plan que elegiste, y la página de Stripe lo indica sobre el botón de pago: This card has already used its intro trials, so this starts at the full price of seguido del precio del plan. Pagar ahí activa el plan de inmediato, sin semana de prueba.
No es un rechazo, y ningún reintento lo cambia, porque el conteo ya está guardado contra la tarjeta. Para una tarjeta que todavía tenga pruebas disponibles, la introducción cuesta $0.99 en Starter, $1.99 en Pro y $4.99 en Powerhouse en USD.
Tus dos opciones: paga el precio completo mostrado, o paga con una tarjeta que no haya usado sus pruebas.
Los precios de los planes, los términos de la prueba y lo que ocurre en la conversión están todos en facturación, pruebas y cómo cancelar.
El pago se realizó pero la cuenta sigue en el plan gratuito
Una tarjeta cobrada más una cuenta que sigue comportándose como gratuita es un síntoma distinto a que el pago falle, y tiene su propia página.
Lee pagaste pero las funciones del plan siguen bloqueadas para conocer las cadenas que aparecen en ese estado, la comprobación que indica qué cuenta tiene la suscripción y qué enviarle a soporte.
Lo que Whizi no puede decirte
Tres vacíos, para que no pierdas tiempo buscando respuestas que no existen.
Whizi nunca ve por qué tu banco rechazó una tarjeta, porque ese intercambio ocurre en la página de pago alojada por Stripe, fuera del código de Whizi. Así que un rechazo en el pago no deja ninguna razón guardada en tu cuenta, ningún botón de reintento, y nada que Whizi pueda anular. La razón está en manos de tu banco.
Una renovación fallida es distinta, y Whizi sí te avisa. Recibes un correo que nombra el plan, el importe y, cuando Stripe la conservó, la razón del banco, y un aviso rojo en la parte superior del chat te ofrece actualizar la tarjeta o seguir con un plan más barato a su precio. Las suscripciones compradas en la app de iOS o Android se renuevan a través de Apple o Google, que gestionan sus propios pagos fallidos.
La facturación de Whizi funciona a través de Stripe, así que qué tarjetas pueden pagar se decide ahí y no en Whizi. Una tarjeta rusa o iraní no puede completar el registro. Ucrania, Kazajistán, Turquía, Indonesia e India funcionan de principio a fin.
- Un rechazo real de tarjeta viene de tu banco a través de Stripe, no de Whizi
- En el pago, Whizi no tiene ningún mensaje de tarjeta rechazada ni una razón de rechazo que mostrarte
- Un texto con la redacción de Whizi en el error significa que no fue un rechazo
- Los errores de sesión se resuelven cerrando sesión, volviendo a iniciarla y reintentando desde precios
- Pricing is temporarily unavailable es del lado del servidor: espera, no reintentes en bucle
- Una tarjeta puede tomar hasta cuatro pruebas de introducción, después el pago cobra el precio completo en lugar de rechazar
- Cobrado pero seguir en el plan gratuito es un síntoma distinto, cubierto en subscription-not-active
Preguntas frecuentes
¿Por qué dice Whizi que mi pago falló pero mi banco no muestra ningún intento?
Porque el texto que viste lo generó el sitio web antes de que se llegara siquiera a Stripe, así que no se intentó ningún cobro. La forma rápida de distinguir esto de un rechazo real del backend: un rechazo del backend llega como JSON con un código de error, como pricing_unavailable o invalid_plan_or_cycle, y muestra un estado HTTP en un registro de red. Un texto del lado del navegador no tiene ninguno de los dos. Si lo que viste no llevaba ningún código, nada llegó a tu banco.
¿Qué significa This card has already used its intro trials en el pago?
This card has already used its intro trials en el pago?Significa que la tarjeta ha tomado la prueba de introducción de 7 días cuatro veces, el límite por tarjeta, así que este pago activa el plan a su precio completo sin semana de prueba. No es un rechazo ni un error, y el conteo sigue a la tarjeta a cualquier cuenta. Paga el precio completo mostrado, o usa una tarjeta que todavía tenga pruebas disponibles.
Me salió Pricing is temporarily unavailable. ¿Es mi tarjeta el problema?
Pricing is temporarily unavailable. ¿Es mi tarjeta el problema?No. Es HTTP 503 pricing_unavailable, y viene de la ruta que lee la tabla de precios localizada desde Stripe, no de la ruta de pago que tomaría una tarjeta. No hay ninguna solución de tu lado, así que espera en vez de probar otra tarjeta. Si viste Failed to create Stripe checkout session. en su lugar, es una cadena distinta con un origen distinto: el texto de reserva del sitio web cuando la llamada de pago falló y el backend no envió ningún mensaje.
Mi código promocional fue rechazado. ¿Por qué?
El pago devuelve The supplied discount must be an active 100% promotion code or coupon ID. como HTTP 400 invalid_discount. El campo de descuento en el pago solo acepta un código de promoción o cupón activo al 100 por ciento, así que un código caducado o un descuento parcial serán rechazados ahí. Quítalo y paga al precio normal si necesitas acceso ahora.
Whizi rechazó mi correo en el pago. ¿Qué pasó?
Viste Temporary email addresses are not allowed. Please use a permanent email address. La ruta de pago lo devuelve como HTTP 400 disposable_email_blocked cuando el dominio del correo de la cuenta con sesión iniciada está en la lista de desechables. La misma cadena se usa en el registro como HTTP 403. Usa una dirección permanente en la cuenta y el pago podrá continuar.
Me cobraron dos veces. ¿Qué debo hacer?
Contacta con soporte con ambos recibos de Stripe en vez de cancelar a ciegas. Cancelar es una acción distinta con su propio resultado: para una suscripción activa, la ruta de cancelación responde Subscription cancellation scheduled for end of billing period., así que esa suscripción sigue hasta el final del periodo que ya está pagado.