Ruby on rails 如何在RubyonRails中创建webhook

Ruby on rails 如何在RubyonRails中创建webhook,ruby-on-rails,webhooks,Ruby On Rails,Webhooks,我有一个项目,我已经实现了不同类型的支付,我正在使用Conekta API,现在我想做的是在我的项目中实现webhook,但我对这是一个新手,我不知道怎么做 我在控制器中有一个方法,并在my routes.rb中指定一个post路由 我的控制器: class WebhooksController < ApplicationController skip_before_filter :verify_authenticity_token def receive data =

我有一个项目,我已经实现了不同类型的支付,我正在使用
Conekta API
,现在我想做的是在我的项目中实现webhook,但我对这是一个新手,我不知道怎么做

我在控制器中有一个方法,并在my routes.rb中指定一个post路由

我的控制器:

class WebhooksController < ApplicationController
  skip_before_filter :verify_authenticity_token

  def receive
    data = JSON.parse(request.body.read)
    if data['type'] == 'charge.paid'
      @payment_method = data['charges']['data']['object']['payment_method']['type']
      msg = 'Tu pago con #{@payment_method} ha sido comprobado'
      ExampleMailer.email(data, msg)
    end
  end

  render status: 200
end
根据文件,我需要通过一条通往Conekta的路线,但我的方式不对:

http://localhost:3000/webhooks/receive


如何在RubyonRails中正确创建webhook?有什么例子吗?非常感谢

我认为您不能将
localhost
传递给Conekta,因为它将无法通过
localhost
访问您的应用程序(这意味着只能在本地访问)


有一个名为的工具,它将向外部公开您的主机,并提供一个公共主机。您可以尝试使用它,然后再次测试您的webhook。

同意。使用ngrok并调用公共url。这是你可以测试你的本地环境。
http://localhost:3000/webhooks/receive