Regarding the Discourse Subscriptions plugin, what would happen if I changed some settings from Stripe itself? For example, from Discourse it’s not possible to make a plan for a product a one-off payment. It has to be a day, week, month, or year-long subscription. But if I go into stripe.com I can change an existing subscription to a one-off payment. Can I do this? How would this change how that plan functions in Discourse? Would it then be a one-off payment?
It most definitely is possible! If you uncheck the recurring checkbox in the plan creation screen, it will be a one time payment.
However, you cannot change existing plans once they’re created.
You’re right! I had a brain fart. What I actually meant to ask is whether it’s possible or not to have a one-off payment that terminates, and doesn’t go on indefinitely. For example, something like a “day-pass,” where you pay $5 and are put into a special group, and then after, say, a day, the subscription terminates and you’re then eliminated from the group until you pay again. Is this possible?
It is not at this time, unfortunately.
I do something like that in a plugin. I (loosely) add to the user_group model an action that when a user is added to the subscription group, does an action, and then removes the user from the group. In your case, you’d make it so when the subscription added the user to the one-off-weeklong group it would
- add the user to the
weeklonggroup that gives permission to whatever categories - add a job that will delete them from the
weeklonggroup when the week is up - add a user custom field with the date the week started so you could delete them if you have some redis disaster
- remove them from the
one-off-weeklonggroup.
If you’re interested in such, you can contact me or post in marketplace .
Mas isso é bobo. Em vez disso, basta adicionar um callback para a assinatura (se for uma assinatura) ou cliente (se for um pagamento único). Cliente é um nome um tanto inadequado. Ele tem o ID do cliente do Stripe e o ID do produto do Stripe. Então faça algo como
add_model_callback(DiscourseSubscriptions::Subscription, :after_save) do
Rails.logger.warn("Agora temos uma assinatura #{self.external_id} para #{self.customer_id}")
# fazer coisas
end
add_model_callback(DiscourseSubscriptions::Customer, :after_save) do
Rails.logger.warn("Cliente #{self.product_id} para #{self.user_id}")
# fazer mais coisas
end
Olá, você resolveu este problema?
Você pode fornecer mais orientações? Como implementar este recurso. Não estou familiarizado com Rails.. obrigado!
Acho que essa é a minha melhor resposta gratuita.
Eu resolvi isso modificando o plugin de assinatura do Discourse. Obrigado.
Mas descobri que não consigo excluir produtos, mesmo usando o plugin de assinatura original do Discourse. Você tem alguma ideia?
Você não precisa excluí-los. Eles não prejudicam nada. Eles são necessários como um registro das coisas que você vendeu. Você deve ser capaz de excluí-los do console do Stripe.
O Stripe também não permite a exclusão de produtos, mas eles podem ser desativados/arquivados.
Eles dizem:
Não sei se isso ainda é algo que você quer alcançar, ou se encontrou uma maneira de fazer isso? Parece que não é algo que seja integrado para ser automatizado com o Discourse, mas pode haver alguma outra maneira de fazer isso. Parece meio como um acordo de cafeteria onde você tem que comprar uma nova bebida todos os dias para poder sentar em uma de suas mesas.
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.


