2013-06-18 118 views
1

我嘗試了Raint應用程序中的Braintree支付網關。處理信用卡交易後,我的應用程序會自動註銷註銷的用戶。它只發生在Braintree相關交易之後。任何想法爲什麼發生這種情況?Braintree註銷用戶

回答

1

該問題與Braintree的支付網關沒有直接關係。它與CSRF以及Ruby on Rails如何處理HTTP Post有關。我最初遵循Braintree使用的教程。這導致Rails由於與CSRF相關的安全性而失去會話。要通過Rails的安全檢查,我必須使用<%= form_for @myobject,...} do | f | %>。學過的知識。

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