Обработка данных банком производится по адресу https://www.avangard.ru/iacq/post
Если отправлять данные из html-формы, то данные обрабатываются, если данные неполные, то сайт банка выдает ошибку "Ошибка в процессе оплаты!".
Эту же ошибку банк выдаст, если просто зайти в браузере по адресу https://www.avangard.ru/iacq/post , поскольку никаких данных не передано.
Но у меня такая задача:
1. принять данные от пользователя
2. обработать их и передать в переменную $data
3. передать данные, находящиеся в переменной $data на адрес https://www.avangard.ru/iacq/pos методом POST
Я нашел в сети образец скрипта, подставил в него свои данные, но в ответ не вижу ни отклика банка о корректном приеме данных, ни сообщения об ошибке, только пустой экран. По всей видимости, что-то я прописал некорректно... Был бы благодарен за помощь!
Вот скрипт по передаче банку Авангард данных методом POST:
[php]
$data=$_POST["email"]; // для примера в переменную дата вводится адрес электронной почты, который получен этим скриптом из html-формы
$fp = fsockopen("www.avangard.ru", 80, $errno, $errstr, 10); // открываю связь с хостом
$out = "POST iacq/post/ HTTP/1.1\n"; // указываю путь к вызываемому файлу на сервере банка
$out .= "Host: https://www.avangard.ru/\n"; //адрес хоста банка
$out .= "Referer: mysite.ru/\n"; // адрес моего сайта
$out .= "User-Agent: Opera\n"; // браузер
$out .= "Content-Type: application/x-www-form-urlencoded\n";
$out .= "Content-Length: ".strlen($data)."\n\n";
$out .= $data."\n\n";
fputs($fp, $out);
fclose($fp);
[/php]
Собственное предположение: может при открытии соединения не тот порт нужно открывать, но какой я не знаю, т.к. напрямую из html-формы все работает ОК? Или я должен что-то прописать, чтобы увидеть отклик банка?