Как передать метод POST в URL-адрес вручную? - PullRequest
1 голос
/ 30 ноября 2009

Мне нужно предоставить внешнему платежному сайту URL возврата на мой сайт после того, как клиент заплатит. Это будет моим действием создания в контроллере подписки RESTful.

Я пытался указать сайту оплаты

blah.com / пользователей / 7 / подписка /? _ = Метод POST

но по возвращении мое приложение продолжает пытаться вызвать мое действие шоу, вероятно, потому что оно считает запрос get, а не публикацию. Так что что-то не так с тем, как я передаю метод в URL, но я не могу понять, что.

Пользователи множественного числа, и они могут иметь только одну подписку, которая определена в моих маршрутах как единственная, т.е. map.resource

Может кто-нибудь помочь?

Ответы [ 2 ]

4 голосов
/ 30 ноября 2009

Вы не можете POST из запроса GET.

Если вызывающее приложение просто выполняет URL, это запрос GET. Если платежный сайт не поддерживает POST, вам это не удастся сделать.

Я бы попросил сайт оплаты, если они предлагают возможность POST для вас. Многие делают.

2 голосов
/ 30 ноября 2009

Если внешняя служба не вызывает ваш URL с помощью POST, то это проблема этой службы, а не вашего приложения. Также имейте в виду, что CSRF защитит ваши POST, PUT, DELETE без токена, поэтому вам нужно отключить его для этого метода, и, надеюсь, у вас есть другой способ аутентификации этого запроса.

...