将payu支付网关(active_merchant_payu_in)与spree集成

时间:2014-06-18 16:11:56

标签: ruby-on-rails ruby-on-rails-3 spree

我正在尝试将payu.in支付网关与spree集成到我的rails应用程序中。我在应用程序中包含了gem'active_merchant_payu_in'。

我的app / models / spree / gateway / payu.rb如下所示:

module Spree
  class Gateway::Payu < Gateway
    def provider_class
      ActiveMerchant::Billing::Integrations::PayuIn
    end
  end
end

在application.rb

config.after_initialize do |app|
  app.config.spree.payment_methods += [
    Spree::Gateway::Payu
  ]
end

Development.rb

config.after_initialize do
  ActiveMerchant::Billing::Base.mode = :test    
  $payu_merchant_id = ActiveMerchant::Billing::Integrations::PayuIn.merchant_id = '--ID--'
  $payu_secret_key = ActiveMerchant::Billing::Integrations::PayuIn.secret_key = '--Key--'    
end

我已从管理员凭据启用Spree :: Gateway :: Payu。现在,当我结帐时,我得到以下错误。

Spree :: CheckoutController#update中的NoMethodError 未定义的方法`authorize'用于ActiveMerchant :: Billing :: Integrations :: PayuIn:Module

有人可以引导我走向正确的道路。 非常感谢:)

1 个答案:

答案 0 :(得分:0)

任何人仍然面临这个问题。

解决方案:修改付款方式“Spree :: Gateway :: Payu”,并将auto_capture?字段设为true

Payu不支持在“自动捕获”设置为false时调用的授权方法,当设置为true时,调用payu支持的“购买”方法。

您可以在Spree的文档中阅读有关自动捕获的更多信息。 https://guides.spreecommerce.com/developer/payments.html