Rails, как отправлять запросы PayPal с контроллера, вместо формы, кодировка URL - PullRequest
2 голосов
/ 08 мая 2011

Мы пытаемся отправлять запросы в PayPal из контроллера, а не из формы. Когда мы используем версию формы, все работает правильно, но когда мы используем перенаправление в контроллере, мы получаем ошибки независимо от того, что мы делаем. Похоже, что есть какая-то проблема кодирования URL.

Форма:

<% form_tag Paypal_URL do%> <% = hidden_field_tag: cmd, "_s-xclick"%> <% = hidden_field_tag: зашифровано, @paypal_link%> <% = submit_tag "Завершить покупку"%> <% end%>

Контроллер: Мы попробовали все следующее, но все приводят к ошибкам.

redirect_to Paypal_URL + "? Cmd = _s-xclick: encrypted =" + @paypal_link и возврат => Rails дает нам ошибки URI

redirect_to URI.encode (Paypal_URL + "? Cmd = _s-xclick: encrypted =" + @paypal_link) и возврат => Мы получаем 500 ошибок от PayPal. Похоже, ссылка неверна

1 Ответ

3 голосов
/ 02 октября 2011

Mike

Возможно, это не лучшее решение проблемы, но мне также нужно было перенаправить на URL-адрес платежа Paypal после контроллера. Следующие работали хорошо для меня:

if @project.save!

  # Send to PayPal
  redirect_to URI.encode("https://www.paypal.com/cgi-bin/webscr" + "?cmd=_xclick&business=sales@domain.com&currenct_code=USD&item_name#{@project.name}&amount=#{@project.price}")

else
  # not created
  redirect_to :back, :notice => "Didn't work"
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...