1

我正在 Rails 应用程序中试用 Braintree 支付网关。处理信用卡交易后,我的应用程序会自动注销已注销的用户。它只发生在我进行 Braintree 相关事务之后。任何想法为什么会发生这种情况?

4

2 回答 2

1

该问题与 Braintree 的支付网关没有直接关系。它更多地与 CSRF 以及 Ruby on Rails 如何处理 HTTP Post 相关。我最初是按照它使用的 Braintree 上的教程进行操作的。由于与 CSRF 相关的安全性,这导致 Rails 失去会话。为了通过 Rails 的安全检查,我必须使用 <%= form_for @myobject, ... } do |f| %>。学过的知识。

于 2013-06-20T19:08:50.313 回答
0

我的回答不一样。但你的回答对我来说已经足够信息化了。

当我使用 ActiveMerchant 时,我会配置 return_url(通常是一个操作)以跳过 CSRF 检查,但“protect_from_forgery”除外。

class PaymentsController < ApplicationController


 protect_from_forgery :except=>[:return]

 def return

  ret = ActiveMerchant::Billing::Integrations::Ipay88::Notification.new(request.raw_post)

   if ret.success?
     <code>
   else
     <code>
   end
 end
于 2014-07-24T02:19:27.463 回答