Rails Braintree webhook集成无法正常工作

时间:2016-04-25 12:27:31

标签: ruby-on-rails ruby braintree

我试图将Braintree的webhook功能应用到我的rails应用程序中,但没有成功。我已经按照他们的文档中的每一步 - https://developers.braintreepayments.com/guides/webhooks/overview,但它仍然无法正常工作。

这是我的webhook控制器中的代码:

class BraintreeWebhookController < ApplicationController
  skip_before_filter :verify_authenticity_token
  require 'braintree'

  def webhook
    webhook_notification = Braintree::WebhookNotification.parse(
        bt_signature_param,
        bt_payload_param
    )

    #operations here onwards
    #...

    render status: 200
  end

  def get_webhook
    challenge = bt_challenge_param
    challenge_response = Braintree::WebhookNotification.verify(challenge)

    render plain: challenge_response, status: 200
  end

  private
  def bt_signature_param
    return params[:bt_signature]
  end

  def bt_payload_param
    return params[:bt_payload]
  end

  def bt_challenge_param
    return params[:bt_challenge]
  end
end

webhook函数用于HTTP POST请求,而get_webhook函数用于HTTP GET请求。我实际上并不确定get_webhook函数中的编码是什么,而且它不在Braintree的文档中,但是我在Github上的一个用户示例应用程序中找到了它。

我已按如下方式配置路线:

post 'braintree/webhook' => 'braintree_webhook#webhook'
get 'braintree/webhook' => 'braintree_webhook#get_webhook' 

一旦我点击了“检查网址”&#39; Braintree的webhook控制面板中的按钮除了错误消息

外没有任何反应
  

上次发送失败。服务器响应无效

非常感谢任何帮助,顺便说一句,我的网站是SSL加密的并使用HTTPS协议,不知道这是否会影响webhook操作。

0 个答案:

没有答案