我正在 Rails 应用程序中试用 Braintree 支付网关。处理信用卡交易后,我的应用程序会自动注销已注销的用户。它只发生在我进行 Braintree 相关事务之后。任何想法为什么会发生这种情况?
问问题
136 次
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 回答