Я пришел, насколько могу, и вам нужна помощь (пожалуйста!). Я пытаюсь настроить платежи за товары на моем ровесном рынке. Я думаю, что я настроил все правильно, но когда я нажимаю кнопку оплаты, которую я создал, она не перенаправляется на PayPal, вместо этого она просто обновляет страницу элемента. Я думаю, что это ошибка маршрутизации, но я не совсем уверен.Ошибка маршрутизации Адаптивные платежные рельсы
Вот что у меня есть в моей модели товара:
class Item < ActiveRecord::Base
belongs_to :user
belongs_to :category
default_scope -> { order('created_at DESC') }
def recipients
[
{ email: '<biz email address>', amount: '1.00', primary: false },
{ email: 'item.user.booth.paypal_email', amount: '5.00', primary: true }
]
end
end
В контроллере Items:
class ItemsController < ApplicationController
include ActiveMerchant::Billing::Integrations
before_action :logged_in_user, only: [:edit, :update, :new, :destroy]
before_action :correct_user, only: [:edit, :update, :destroy]
def show
@item = Item.find(params[:id])
end
def gateway
@gateway ||= ActiveMerchant::Billing::PaypalAdaptivePayment.new \
login: '<login email>',
password: '<password>',
signature: '<signature>',
appid: 'APP-80W284485P519543T'
response = gateway.setup_purchase \
return_url: root_url,
cancel_url: item_path,
#ipn_notification_url: <notification URL>,
receiver_list: recipients
redirect_to gateway.redirect_url_for(response['payKey'])
end
end
И ссылка на эту кнопку в Views/предметов/шоу:
<%= link_to "Buy Now with PayPal", @gateway, class: "btn btn-primary col-md-8", id: "paypal-buy-btn"%>
Мне также интересно, может ли ошибка быть из-за того, что я не определял @gateway в действии show, но когда я пытаюсь это сделать Я также получаю ошибки.
Может ли кто-нибудь помочь мне попытаться решить эту загадку? Спасибо за вашу помощь.
У нас был ваш код, проверенный нашим парнем Ruby. Ему это не понравилось или не видно всей картины. Следовательно, это всего лишь комментарий. В конечном счете, я бы предложил использовать рабочий git, например. https://github.com/jpablobr/active_paypal_adaptive_payment кажется многообещающим и содержит более подробную документацию о прикованных платежах (ссылки на x.com немного устарели) –
Это именно то, что я использовал, и документация также не является полной, особенно для начинающих. – Kelly
Что возвращает 'response ['payKey']' return? Что означает 'gateway.redirect_url_for (response ['payKey'])' return? Кроме того, я думаю, что суммы для получателей должны быть float, а не строки, но я не уверен на 100% (ActiveMerchant может принять оба?). –