Payola Gem, получение маршрутов не соответствует [GET] "/payola/events"

Я использую Payola-платежи 1.5.1 с Rails 5.0.1 и сталкиваюсь со следующей ошибкой при попытке сделать платеж в учетной записи в тестовом режиме Stripe: нет маршрута, совпадающего с [GET] "/payola/events" Payola имеет маршрут к "/ payola / events", который ведет к контроллеру Webhooks, но он отвечает только на метод Post. Это перенаправление из контроллера транзакций, и передаются следующие параметры: {"action"=>"new", "controller"=>"users/session"}

Ранее Payola отлично работала на моем компьютере. Единственными изменениями, о которых я могу думать, были некоторые обновления gem, включая переход на 5.0.1.

Кто-нибудь сталкивался с этим раньше? Любая помощь будет принята с благодарностью.

0 ответов

Переопределите маршрут по умолчанию, предоставленный Payola Engine. Я настраиваю свои маршруты так. Работает на Rails 5.2.

  scope module: 'payola' do
    mount StripeEvent::Engine => 'payola/events', as: :payola
    post 'payola/buy/:product_class/:permalink' => 'transactions#create', as: :buy
    get 'payola/confirm/:guid' => 'transactions#show', as: :confirm
    get 'payola/status/:guid' => 'transactions#status', as: :status
    post 'payola/subscribe/:plan_class/:plan_id' => 'subscriptions#create', as: :subscribe
    get 'payola/confirm_subscription/:guid' => 'subscriptions#show', as: :confirm_subscription
    get 'payola/subscription_status/:guid' => 'subscriptions#status', as: :subscription_status
    delete 'payola/cancel_subscription/:guid' => 'subscriptions#destroy', as: :cancel_subscription
    post 'payola/change_plan/:guid' => 'subscriptions#change_plan', as: :change_subscription_plan
    post 'payola/change_quantity/:guid' => 'subscriptions#change_quantity', as: :change_subscription_quantity
    post 'payola/update_card/:guid' => 'subscriptions#update_card', as: :update_card
    post 'payola/update_customer/:id' => 'customers#update', as: :update_customer
    post 'payola/create_card/:customer_id' => 'cards#create', as: :create_card
    delete 'payola/destroy_card/:id/:customer_id' => 'cards#destroy', as: :destroy_card
  end

Наконец, отключите disable_with, который включен по умолчанию в Rails 5.0+, я полагаю. Это остановит код формы JS, который Payola использует для обработки платежей.

<%= f.submit "Submit" data: {disable_with: false} %>
Другие вопросы по тегам