#ruby-on-rails #ruby-on-rails-3 #spree
#ruby-on-rails #ruby-on-rails-3 #веселье
Вопрос:
Я пытаюсь интегрировать payu.in платежный шлюз с помощью spree в моем приложении rails. Я включил драгоценный камень «active_merchant_payu_in» в приложение.
Мое приложение / 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 из учетных данных администратора. Теперь, когда я выполняю проверку, я получаю сообщение об ошибке ниже.
Ошибка NoMethodError в Spree ::CheckoutController#обновить неопределенный метод `авторизации» для ActiveMerchant ::Billing ::Integrations::PayuIn:Module
может кто-нибудь направить меня на правильный путь. Большое спасибо 🙂
Ответ №1:
Если кто-то все еще сталкивается с этой проблемой.
Решение: отредактируйте свой способ оплаты «Spree :: Gateway:: Payu» и установите auto_capture?
для поля значение true
.
Payu не поддерживает метод авторизации, который вызывается, когда для параметра «автозахват» установлено значение false
, при true
этом вызывается метод «покупка», который поддерживается payu.
Вы можете прочитать больше об автоматическом захвате в документации Spree. https://guides.spreecommerce.com/developer/payments.html