Estoy intentando usar suscripciones (tabla de precios) en mi instancia autoalojada. Lo he configurado y probado en el modo de prueba de Stripe, sin embargo, cuando paso a modo en vivo, aunque parece funcionar, la pestaña “facturación” en mi perfil ahora informa un error.
Error
al intentar cargar /s/user/subscriptions
Algo salió mal.
Cuando reviso la consola de JavaScript, veo:
“un objeto similar existe en modo de prueba, pero se utilizó una clave del modo en vivo”
Esto me hace pensar que hay un problema de consistencia al cambiar entre modos. Ahora que sé que este es un problema, puedo tener cuidado con las cuentas en las que pruebo, pero mi pregunta es, ¿cómo soluciono este problema para los usuarios que se suscribieron en modo de prueba y ahora quieren hacer una suscripción real en modo en vivo?
(es decir, ¿cómo soluciono este error?)
¿Habrá una consulta de base de datos que pueda ejecutar o algo similar para eliminar todas las suscripciones de un usuario, incluidas aquellas que puedan causar un problema?
Gracias.
En resumen, usar el modo de prueba parece haber dejado artefactos en los usuarios que probaron suscripciones de prueba, supongo que las suscripciones no se cancelaron de la manera correcta o esperada. Al cambiar al modo de producción, la pestaña de facturación da errores.
Lo que he intentado…
Primero, no tomes esto de forma absolutamente literal, estoy adivinando basándome en otras publicaciones y estos son los comandos que usé, sin embargo, es posible que haya usado literales y haya tenido que repetir algunos… pero esta es la idea general;
./launcher enter app
rails c
u = User.find_by_username(<username>)
c = DiscourseSubscriptions::Customer.find_by(user_id: u.id)
subscription = DiscourseSubscriptions::Subscription.where(customer_id: c[:customer_id])
subscription.destroy_all
c.destroy
Parece que “subscription.destroy_all” elimina referencias externas pendientes a Stripe, y “c.destroy” elimina la suscripción local. ¿Estuvo esto bien, o he roto algo internamente?
Por cierto, uno de los problemas que tengo con las suscripciones es que realmente solo hace suscripciones (!) y no es muy bueno para añadir merchandising aleatorio (tazas, camisetas, etc.)… se podría decir que puede hacerlo, pero la presentación usando tablas de precios no funciona realmente junto con las suscripciones reales. (y hay un límite de 4 productos)
Con ese fin, he logrado encontrar una manera de añadir un “botón” en una página que inserta “una” tabla de precios en “una” página, lo que elimina los límites en el número de tablas de precios que puedes usar y significa que puedes usarlas en línea en las páginas… lo que les da algo de contexto. (La página de suscripciones se siente un poco “fuera” de contexto en cuanto a asegurarse de que el usuario sepa lo que le espera cuando hace clic en “comprar”… )
Son unas 25 líneas y se hace a través de la interfaz de usuario como administrador… no se necesitan plugins externos… se siente como una solución genéricamente útil que no pude encontrar en ningún otro lugar… ¿dónde sería el mejor lugar para publicarla para consumo público?