ruby-on-rails - 如何在 Ruby on Rails 中创建 Webhook

标签 ruby-on-rails webhooks

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

Webhooks Conekta

我的 Controller 中有一个方法,并在我的routes.rb中指定一个后路由

我的 Controller :

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

我的路线.rb:

post 'webhooks/receive'

根据文档,我需要传递一条到 Conekta 的路线,但我没有以正确的方式这样做:

http://localhost:3000/webhooks/receive

enter image description here

如何在 ruby​​ on Rails 中正确创建 webhook?有什么例子吗?非常感谢!!

最佳答案

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

有一个工具叫 ngrok这会将您的主机暴露给外部并提供公共(public)主机。您可以尝试使用它并再次测试您的 webhook。

关于ruby-on-rails - 如何在 Ruby on Rails 中创建 Webhook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54916414/

相关文章:

ruby-on-rails - 占用大量内存

gmail - 发送或接收电子邮件时发送 webhook

node.js - 为事件驱动架构选择正确的协议(protocol)。

c# - c# 中的一个非常简单的 dialgoue 流实现 webhook 无法正常工作

ruby-on-rails - 使用 Rails 和 HAML video_tag 循环播放 HTML5 视频

ruby-on-rails - Rails:NameError:未初始化常量 Rails::Application::YAML

mysql - Rails 从 WEBrick 而非 Passenger 连接到 MySQL

ruby-on-rails - favicon the rails way

ruby-on-rails - Twitter 的 Webhook

php - 从 Web 应用程序 Controller 内部调用 .phar 可执行文件