我有一个项目,我已经实现了不同类型的付款,我正在使用 Conekta API
,现在我想做的是在我的项目中实现 webhook,但我是新的对此,我不太知道该怎么做
我的 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
如何在 ruby on Rails 中正确创建 webhook?有什么例子吗?非常感谢!!
最佳答案
我认为您无法将localhost
传递给Conekta,因为它将无法通过localhost
访问您的应用程序(这意味着只能本地访问)。
有一个工具叫 ngrok这会将您的主机暴露给外部并提供公共(public)主机。您可以尝试使用它并再次测试您的 webhook。
关于ruby-on-rails - 如何在 Ruby on Rails 中创建 Webhook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54916414/