1

我已经构建了一个类似于 Byron Bowerman 的stripe-example的 Stripe SaaS 应用程序。

来自 Stripe 的通知称为“webhook”,包括支付成功或失败等信息。在我的应用程序中,它们由stripe-event gem接收,然后将信息传递给 Webhook 模型以保存在数据库中。

我想使用这些事件来触发操作:

  • 电子邮件给用户
  • 更新用户模型
  • 等等

问题是哪个班级应该采取这些行动,应该如何通知它?

有几个选项:

1) 在 Webhook 模型中

容易,但感觉超出了这个类的职责。

2) Webhook 观察者

一个观察者,还是不同行为的单独观察者?

3) Rails 通知

ActiveSupport::NotificationWebhook 模型可以在每次收到 webhook 时发送一个。这可以由应用程序中任何位置的类订阅。如果我走这条路,在 User 模型、UsersController 或其他地方这样做是否合适?

我对这种方法的担心是,在他关于通知的 railscast 中, Ryan Bates 建议“通知最好用于日志记录和不修改应用程序核心行为的代码”。

4) ...?

你有什么建议?

4

0 回答 0