Así que he creado un producto “CreateServer” que (algún día) permitirá a alguien comprar una instalación de Discourse. Esto los añade al grupo CreateServer. Cuando alguien crea un servidor, se les elimina del grupo. Eso está bien.
Pero si alguien quiere obtener un segundo servidor, no puede porque ya ha comprado el producto. ¿Existe alguna forma de permitir la compra del mismo producto varias veces? O, tal vez, mi solución es que el plugin modifique el registro indicando que han comprado la suscripción, y así puedan comprar otra. Ya los está eliminando del grupo CreateServer después de realizar la instalación…
Una compra única repetida sería genial. Esto minimizaría en cierta medida la necesidad de la actualmente inexistente Subscriptions: Pay What You Want Support. O quizás haya una oportunidad para fusionar esas dos características?
Jay, ¿esto también aplica si la primera suscripción se cancela y la persona vuelve más tarde para volver a comprar lo mismo? Es decir, si la suscripción mensual se canceló después de un ciclo y el cliente regresa el próximo año.
No: una vez que la suscripción se cancela y es procesada por el sistema de Suscripciones, pueden volver y comprarla. Si aún tienen una suscripción activa (aunque la facturación recurrente pueda estar cancelada), no podrán hacerlo.
Las compras únicas son un mecanismo completamente diferente en Stripe, así que tendré que echar un vistazo. Tengo una idea, pero la mayor parte de mi trabajo con plugins está en espera hasta después del Año Nuevo.
¡Ah! Eso lo explica. No he tenido tiempo de revisarlo con detenimiento, ya que mi plugin tiene un millón de otras piezas en movimiento que tampoco entiendo.
¡No quiero tener nada que ver con que eso no sea cierto!
Hola Justin. Estoy revisando esto de nuevo. En la práctica, pocos clientes han comprado múltiples instalaciones, así que decidí no preocuparme por las compras múltiples. Pero luego me di cuenta de que probar si la compra de una instalación de servidor es difícil si un usuario solo puede hacerlo una vez…
Parece que serialize_product es lo que determina si un producto está suscrito, lo cual a su vez determina si puedes comprarlo.
Supongo que lo que necesita ocurrir aquí es que subscribed no se establezca en true si el producto que han comprado es de un solo uso. No me queda claro de inmediato cómo hacer eso, ya que parece que esa información está al menos a una unión de tablas de distancia (o quizás a otra solicitud de distancia).
Lo que he hecho por ahora es modificar los plantillas para que siempre muestren el enlace/botón de pago (algo como {{#if product.subscribed_JP_disabled}}), y eso me está permitiendo realizar múltiples compras, por lo que vale la pena.