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 .
但这太愚蠢了。相反,只需为订阅(如果是订阅)或客户(如果是一次性付款)添加一个回调。Customer 有点名不副实。它包含 stripe 客户 ID 和 stripe 产品 ID。所以做类似的事情
add_model_callback(DiscourseSubscriptions::Subscription, :after_save) do
Rails.logger.warn("现在得到了订阅 #{self.external_id} 为 #{self.customer_id}")
# 做些事情
end
add_model_callback(DiscourseSubscriptions::Customer, :after_save) do
Rails.logger.warn("客户 #{self.product_id} 为 #{self.user_id}")
# 做更多的事情
end
您好,您解决了这个问题吗?
您能提供更多指导吗?比如如何实现此功能。我对 Rails 不熟悉……谢谢!
我认为这是我最好的免费答案。
您无需删除它们。它们不会造成任何损害。它们是您已售出商品的记录。您应该能够从 Stripe 控制台删除它们。
不知道这是否还是您想实现的目标,或者您是否已经找到了实现此目标的方法?看起来这并不是 Discourse 内置的自动化功能,但可能有其他方法可以实现。这有点像咖啡店的那种模式,您每天都必须购买新的饮品才能坐在他们的桌子旁。
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.


