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 tiene ningún mensaje de tarjeta rechazada en ningún lugar. Los datos de la tarjeta se introducen en la página de pago alojada por Stripe, que está fuera del código de Whizi, y el gestor del webhook de Stripe de Whizi no tiene ningún mensaje de pago rechazado que mostrarte.
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 |
|---|---|---|
A $1 intro trial has already been used with this payment method. | Esa tarjeta ya usó la prueba de introducción | Suscríbete a la tarifa normal o usa una tarjeta que no la haya usado. Reintentar no funcionará |
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 |
A $1 intro trial has already been used with this payment method. | 403 | duplicate_trial_payment_method | La huella de la tarjeta ya reclamó la prueba de introducción |
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. El rechazo de la prueba de introducción 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.
El rechazo de la prueba de introducción, que ningún reintento resolverá
A $1 intro trial has already been used with this payment method. es HTTP 403 con el código duplicate_trial_payment_method. Es el único error de pago de esta página que un reintento jamás resolverá.
La comprobación está vinculada a la tarjeta y no a la cuenta: el rechazo se devuelve cuando la huella de la tarjeta ya reclamó la prueba de introducción.
Un detalle si estás buscando este error: la cadena realmente dice "$1", aunque el cargo de introducción en sí es de $0.99 en USD. Búscalo por su redacción exacta, porque la forma "$1" es justo lo que envía el servidor.
Tus dos opciones: suscríbete a la tarifa estándar del plan que quieras, o paga con un método de pago que no haya reclamado antes la prueba.
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. Un rastreo de ambos repositorios de Whizi no encontró ninguna cadena de tarjeta rechazada ni de pago rechazado de ningún tipo, y el gestor del webhook de Stripe no lleva ningún mensaje de pago rechazado. Así que no hay ninguna razón de rechazo 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.
Whizi tampoco tiene ningún mensaje para una renovación fallida o vencida. No existe ninguna cadena de cara al usuario para eso en ninguno de los dos repositorios, así que si más adelante falla un cobro de renovación, no recibirás un error de Whizi que lo explique. El único aviso relacionado con renovaciones que sí existe es una notificación push que dice "Your subscription is no longer active." bajo el título "Whizi subscription updated", enviada cuando un webhook de RevenueCat sincroniza una cuenta hacia el nivel gratuito. Ese es el camino del webhook de RevenueCat, así que no es un reporte de que falló una renovación de Stripe.
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
- 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
- La prueba de introducción está vinculada a la huella de la tarjeta, no a la cuenta
- 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 A $1 intro trial has already been used with this payment method.?
A $1 intro trial has already been used with this payment method.?Significa que la tarjeta que introdujiste ya reclamó la prueba de introducción. No es un rechazo: Whizi no tiene ninguna cadena de tarjeta rechazada, y esta viene de la propia ruta de pago de Whizi como HTTP 403 con el código duplicate_trial_payment_method, que vale la pena citar si escribes a soporte. Suscríbete a la tarifa estándar o usa un método de pago que no haya reclamado la prueba.
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.