2012-03-09 22 views
2

我試圖爲Spree實施一個新的支付網關,ActiveMerchant(Elavon)支持該網關。在Spree的網站上,這似乎很微不足道,但似乎有一個我失蹤的步驟。我已經寫在/app/model/gateways/elavon.rb向Spree添加新的ActiveMerchant網關(Elavon)

class Gateway::Elavon < Gateway 
     preference :login, :string 
     preference :password, :string 
     preference :user, :string 
     def provider_class 
     ActiveMerchant::Billing::ElavonGateway 
     end 
    end 
end 

我猜的模型我缺少某種方式在啓動時加載該網關?我也相信我需要在加載時爲狂熱設置一個特定的設置,並且似乎也無法使其工作。

Spree::Config.set(:auto_capture, true) 

我試過把它放在config/application.rb中,但無濟於事。

我甚至只使用這種寶石的嘗試: https://github.com/baracek/spree_elavon_gateway

當我嘗試啓動大禮包,我得到的錯誤:

/home/dave/.rvm/gems/ruby-1.9.2-p290/bundler/gems/spree_elavon_gateway-802ab1e3bf31/app/models/gateway/elavon.rb:1:in `<top (required)>': wrong argument type Module (expected Class) (TypeError) 

任何幫助或指針是極大的讚賞。

+0

任何成功?我已經創建了自己的網關,但使用了主動式商家,現在我需要將這筆新款與我的熱潮結合起來,而且我迷路了。 – Gerep 2013-08-07 17:10:58

回答

1

我覺得你的代碼應該是這樣的: -

也確保你已經在你的Gemfile添加spree_gateway寶石。

module Spree 
    class Gateway::Elavon < Gateway 
    preference :login, :string 
    preference :password, :string 
    preference :user, :string 

    def provider_class 
     ActiveMerchant::Billing::ElavonGateway 
    end 
    end 
end 

重新閱讀你的錯誤,也可能是在模塊M大寫導致錯誤,你也可以嘗試改變模塊到模塊

1

我建議在叉子固定spree_elavon_gateway寶石和發送將請求提交給GitHub上的官方存儲庫。同時,你可以使用你的分支就好:)。我實際上計劃很快使用spree_elavon_gateway,所以如果你不這樣做,我可以自己修復。

+0

我喜歡這條線 >'所以我可以自己修復它,如果你不' – illusionist 2016-03-29 04:43:40

+0

@illusionist哈,具有諷刺意味的是,我從來沒有結束脩復它。我正在研究的這個項目已經失敗了。但是,我確實將它移植到了Spree 1.1:https://github.com/sfsekaran/spree_elavon_gateway/commits/port_to_1.1.x – thekingoftruth 2016-03-30 20:08:29