Пользователь выбирает сумму платежа и попадает на pay.php, он же делает переадресацию на фри касса, по идеи этот файл считывает данные об оплате, составляет ссылку. success.php и fail.php вспомогательные. Если с оплатой что-то не так юзера переадресовывает на fail.php. Также и с success.php, только наоборот. И тот, и другой связаны с lpo, а в pay уже нету ошибки ( файл в котором сама форма lpo ). Но проблема в submit. --- Добавлено --- Файл success.php должен получать информацию о платеже и зачислять деньги на баланс. В файле есть своя уникальная ссылка на каждый ID оплаты payment/success?id=2232 сумма и т.д.
Как я понял работает это так: 1. Пользователь на Вашем сайте нажимает сделать платеж 2. Грузится файл pay.php - генерирует страницу с формой lpo 3. Из браузера пользователя отправляется скриптом форма lpo на фки-кассу 4. И вот дальше вопрос: С фри-кассы в браузер пользователя должно прийти подтверждение? 5. Но пользователь уже будет не на Вашей странице, а на фри-кассе. Раньше оплата работала? Может нужен ajax-запрос на фри-кассу? Наверняка браузер пользователя вообще в этом процессе лишний.
Файл success.php должен получать информацию о платеже и зачислять деньги на баланс. В файле есть своя уникальная ссылка на каждый ID оплаты (payment/success?id=2232 1. + (пишет сумму пополнения и тогда нажимает) 2. + 3. + 4. +++ 5. ИД и 2 секретных кода от Free-Kassa связаны. И в админ-панели есть вкладка пополнение баланса, где после пополнения хрестик, типо оплата не прошла успешно.
Значит проблема с фри-кассой? Раньше этот код работал (и почему http, а не https)? Лично я не знаю, что им нужно в запросе отсылать, чтобы совершить платеж. Еще вопрос: Как запрос отправляется в файл success? Пользователь, что-то для этого должен сделать?
Нет, после оплаты сначало на одном сайте надо 10 сек. подождать, потом на Фри-кассе, а потом открывается success с уникальным кодом
То-есть, сейчас все останавливается на фри-кассе? И почему бы в файле pay.php вот это: PHP: <script> window.onload = function() { document.getElementById('lpo').submit(); } </script> ... <form id="lpo" method="GET" action="http://www.free-kassa.ru/merchant/cash.php"> <input type="hidden" name="m" value="<?=$fk_merchant_id?>"> <input type="hidden" name="oa" value="<?=$order_amount?>"> <input type="hidden" name="o" value="<?=$order_id?>"> <input type="hidden" name="s" value="<?=$hash?>"> <input type="submit" value="..." style="background: transparent;border: none;text-align: center;font-size: 14px;margin: 15px 0 15px;font: 14px/15px 'OpenSans-Regular';line-height: 17px;color: #3d3d3d;"> </form> не заменить вот на это: PHP: <script> window.onload = function() { window.location="http://www.free-kassa.ru/merchant/cash.php?m=<?=$fk_merchant_id?>&oa=<?=$order_amount?>&o=<?=$order_id?>&s=<?=$hash?>"; } </script>
вы правильно подметили, я заменил, тот же эффект, но компактнее : ) но если этот код если вставить в success, оно перенаправляет сюда: http://www.free-kassa.ru/merchant/cash.php?m=&oa=&o=&s= --- Добавлено --- короче дело такое, я только что провёл оплату на 1р. )) И сначало после киви перенаправляет на: SimplePay, потом на Free-Kassa, и уже после этого на .......com/payment/success?MERCHANT_ORDER_ID='мойстимайди'18&intid=и тут ещё один код.
Возможно, все потому что во фрикассе другая ссылка и другие названия полей и еще какой-то флаг load: В доке к апи фрикассы так же есть поля us_* - это те параметры, которые фрикасса вернет на url магазина Нет. Не то. Вот Ваша форма: PHP: <?php $merchant_id = '7012'; $secret_word = 'secret'; $order_id = '154'; $order_amount = '100.11'; $sign = md5($merchant_id.':'.$order_amount.':'.$secret_word.':'.$order_id); ?> <form method='get' action='http://www.free-kassa.ru/merchant/cash.php'> <input type='hidden' name='m' value='<?php=$merchant_id?>'> <input type='hidden' name='oa' value='<?php=$order_amount?>'> <input type='hidden' name='o' value='<?php=$order_id?>'> <input type='hidden' name='s' value='<?php=$sign?>'> <input type='hidden' name='i' value='1'> <input type='hidden' name='lang' value='ru'> <input type='hidden' name='us_login' value='<?php=$user['login']?>'> <input type='submit' name='pay' value='Оплатить'> </form> i - валюта платежа. 1 - вебмани https://www.free-kassa.ru/docs/api.php#ex_currencies