Então, criei um produto “CreateServer” que (um dia) permitirá que alguém compre uma instalação do Discourse. Isso os adiciona ao grupo CreateServer. Quando alguém cria um servidor, eles são removidos do grupo. Tudo isso está bom.
Mas, se alguém quiser obter um segundo servidor, não poderá, pois já comprou o produto. Existe alguma maneira de permitir a compra do mesmo produto várias vezes? Ou, talvez, minha solução seja fazer com que o plugin modifique o registro indicando que a assinatura foi comprada, e então eles possam comprar outra. O plugin já os remove do grupo CreateServer após a instalação…
Uma compra única repetida seria ótima… Isso minimizaria a necessidade de Subscriptions: Pay What You Want Support, que atualmente não existe. Ou talvez haja uma oportunidade de mesclar essas duas funcionalidades?
Jay, isso também é válido se a primeira assinatura for cancelada e a pessoa retornar mais tarde para comprar o mesmo item? Ou seja, a assinatura mensal foi cancelada após um ciclo e o cliente retorna no ano seguinte.
Não — uma vez que a assinatura seja cancelada e processada pelo sistema de Assinaturas, eles poderão retornar e comprá-la novamente. Se ainda houver uma assinatura ativa (embora a cobrança recorrente possa estar cancelada), eles não poderão fazê-lo.
Compras únicas são um mecanismo completamente diferente no Stripe, então terei que dar uma olhada. Tenho uma ideia, mas a maior parte do meu trabalho com plugins está em espera até depois do Ano Novo.
Olá, Justin. Estou voltando a mexer nisso. Na prática, poucos clientes compraram múltiplas instalações, então decidi não me preocupar com compras múltiplas. Mas então percebi que testar a compra de uma instalação de servidor é difícil se o usuário puder fazê-la apenas uma vez…
Parece que serialize_product é o que determina se um produto é uma assinatura, o que por sua vez define se você pode comprá-lo.
Acho que o que precisa acontecer aqui é fazer com que subscribed não seja definido como true para o produto que o usuário já comprou, caso seja um produto de uso único? Não está imediatamente claro para mim como fazer isso, pois parece que essa informação está, no mínimo, a uma junção de tabela de distância (ou talvez a outra requisição de distância?).
O que fiz por enquanto foi hackear os templates para sempre mostrar o link/botão de pagamento (algo como {{#if product.subscribed_JP_disabled}}), e isso está me permitindo fazer múltiplas compras, pelo que vale.