【问题标题】:Rails and Razorpay Webhook setupRails 和 Razorpay Webhook 设置
【发布时间】:2020-03-31 05:07:01
【问题描述】:

我正在尝试在 Rails 中设置 Razorpay Webhook。已经在 Rails 中进行了其他开发,但定价对我来说是新的。我已经在 razorpay 仪表板中设置和测试了 Webhook,并使用requestbin.com 来获取此文档中提到的有效负载结果(JSON)https://razorpay.com/docs/webhooks/

现在,我应该创建一个新的 POST 路由并在控制器中捕获有效负载结果(JSON)并相应地更新数据库吗?!或者有没有其他方法可以在 Rails 中处理 Webhook?

如果像上面这么简单,这个 gem https://github.com/razorpay/razorpay-ruby 是用来做什么的?

【问题讨论】:

    标签: ruby-on-rails ruby webhooks razorpay


    【解决方案1】:

    处理 Webhook 需要 3 件事,

    1. 在您的应用程序中创建一个GET 端点
    2. 在第 3 方仪表板的回调设置中添加 URL,在您的情况下为 Razorpay 仪表板
    3. 由于 Webhook 端点是公共的,因此您需要验证回调实际上是来自真实来源还是现在。详细信息通常在 3rd 方服务的 api 文档中提供。

    完成后,您可以根据需要以自己的方式处理回调。最好将 Webhook 回调参数移至后台服务并每次都返回 204 请求。

    希望有帮助!

    【讨论】:

    • 感谢 Rajdeep Singh。 Razorpay 通常根据他们的文档razorpay.com/docs/webhooks 以 JSON 格式发送 HTTP POST 有效负载。所以我必须在 Rails 中创建一个 POST 端点对吗?
    • 另外,如果您知道 rails 中有任何关于处理 Webhooks(任何 webhooks 不一定来自 Razorpay)的公共 github 存储库,那将会很有帮助。
    【解决方案2】:

    https://github.com/razorpay/razorpay-ruby 只是一个 ruby​​ 包装器,razorpay 为所有创建/获取方法提供。

    在 razorpay 中,您可以通过首先在控制器上创建处理程序路径并将其公开给它们来设置网络挂钩。您可以在他们的网络挂钩上添加此路由/在您的 razorpay 商家仪表板的设置下添加。

    为了使这个回调更安全,razorpay 允许你从仪表板设置一个 web 钩子签名,上面提到的 gem 有一个包装器方法,可以帮助你验证签名。

    【讨论】:

      猜你喜欢
      • 2013-08-13
      • 1970-01-01
      • 1970-01-01
      • 2019-05-11
      • 2022-07-27
      • 2020-01-17
      • 2022-07-09
      • 2020-07-14
      • 2018-08-21
      相关资源
      最近更新 更多