我正在Rails应用程序中试用Braintree支付网关。处理完信用卡交易后,我的应用程序会自动注销已注销的用户。它只有在我做了一个与Braintree相关的事务之后才会发生。你知道为什么会发生这种情况吗?
发布于 2013-06-21 03:08:50
这个问题与Braintree的支付网关没有直接关系。这与CSRF以及Ruby on Rails如何处理HTTP Post有更多的关系。我最初遵循了Braintree上的教程,其中使用了它。由于与CSRF相关的安全性,这导致Rails失去了会话。为了通过Rails的安全检查,我必须使用<%= form_for @myobject,... } do |f| %>。学到的教训。
发布于 2014-07-24 10:19:27
我的答案是不同的。但是你的回答对我来说已经足够了。
当我使用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
endhttps://stackoverflow.com/questions/17162339
复制相似问题