Начну с описания реализации системы оплаты.
Для оплаты используется сервис Яндекс.Денег, создана форма с атрибутами, необходимыми для запроса и перехода на защищенную зону. Но вот в чем проблема: в коде страницы пользователь может поменять любые данные платежа, в том числе сумму и адресата. Да, можно, конечно, каждый заказ перепроверять вручную, но это не то.
Собственно, код формы:
<form action="https://money.yandex.ru/quickpay/confirm.xml" id ='formx' method="post" onsubmit='call()'>
{{ form.as_p}}
{% csrf_token %}
<input type="hidden" id='receiver' name="receiver" value="41001681163599">
<input type="hidden" id='quickpay-form' name="quickpay-form" value="small">
<input type="hidden" id='targets' name="targets" value="транзакция J-star">
<input type="hidden" id='sum' name="sum" value="{{cart.get_total_price}}">
<input type="hidden" id='paymentType' name="paymentType" value="AC">
<input type='submit' value='Отправить' onClick='create_Order()'/>
</form>
Единственный вариант, который мне видится:
1. Сохранять т.н. анонимный заказ. В корзине есть кнопка "Оформить заказ", которая ведет на форму с данными, отправляемыми сразу на Яндекс. К представлению, подключенному к этой кнопке, можно прикрепить создание объект заказа с номером, содержимым и суммой, но без данных о клиенте".
2. Перенаправлять на форму оформления, как и раньше. Но есть отличие: теперь на форме нет суммы, комментария и кошелька-получателя.
3. Отправлять данные формы не на Яндекс, а на мою вьюху, которая, в свою очередь, допишет анонимный заказ, созданный ранее, и сделает запрос на Яндекс, перенаправив пользователя.
Собственно, вопрос: как это осуществить? Просьба рассматривать задачу без привязки к Яндексу, можете поставить на его место любой неподконтрольный нам сайт.
P.S. Короче, мне надо во вьюхе сымитировать POST-запрос формы со всеми признаками, в частности с редиректом.