Добрый вечер! Возникла тут в общем неразрешимая для меня проблема. Есть сайт, на котором есть тип контента, и в нем у каждой записи есть форма оплаты. Реализована при помощи YooMoney.
Код формы:
<form method="POST" action="https://yoomoney.ru/quickpay/confirm.xml"> <input type="hidden" name="receiver" value="<?php echo $item['money2']; ?>"/> <input type="hidden" name="formcomment" value="Оплата товара <?php html($item['title']); ?> в маркетплейсе <?php echo $market; ?>"/> <input type="hidden" name="short-dest" value="Продавец: <?php html($item['user']['nickname']); ?>"/> <input type="hidden" name="label" value="<?php echo $id; ?>"/> <input type="hidden" name="successURL" value="<?php echo $ahurl; ?>"/> <input type="hidden" name="quickpay-form" value="shop"/> <input type="hidden" name="targets" value="Оплата товара <?php html($item['title']); ?> в маркетплейсе <?php echo $market; ?>"/> <input type="hidden" name="sum" value="<?php echo $order; ?>" data-type="number"/> <input type="hidden" name="comment" value="Продавец: <?php html($item['user']['nickname']); ?>"/> <input type="hidden" name="need-fio" value="true"/> <input type="hidden" name="need-email" value="true"/> <input type="hidden" name="need-phone" value="false"/> <input type="hidden" name="need-address" value="false"/> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" id = "m1" name="paymentType" value="PC"> <label class="form-check-label" for="m1">ЮMoney</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" id = "m2" name="paymentType" value="AC"> <label class="form-check-label" for="m2">Банковская карта</label> </div> <input class = "btn btn-sm btn-secondary" style = "display: block; margin-top: 15px;" type="submit" value="Купить онлайн"/> </form>
Обработчик формы лежит в корне сайта и содержит такой код:
<?php $_POST['operation_id'].'&'. $_POST['amount'].'&'. $_POST['currency'].'&'. $_POST['datetime'].'&'. $_POST['sender'].'&'. $_POST['codepro'].'&'. 'ЗДЕСЬ_СЕКРЕТ_КЕЙ'.'&'. $_POST['label']); if ($_POST['sha1_hash'] != $hash or $_POST['codepro'] === true or $_POST['unaccepted'] === true) exit('Error'); file_put_contents('info.php', $_POST['datetime'] . ' Через YooMoney на сумму ' . $_POST['amount'] . '<br>', FILE_APPEND ); ?>
После оплаты в файле info.php появляются записи о проведенных платежах. Проблема в том, что если я отправляю уведомление со страницы настроек YooMoney — то запись в info.php успешно записывается. Если же я делаю реальный платеж, то в info.php строка не записывается. Первый раз работаю с платежными системами, и немного не врубаюсь — чего не так. Ткниже пжл носом, где накосячил.
А цель формы в общем то следующая — получить данные о платеже, далее я эти данные получаю на странице товара, ну и уже совершаю нужные действия — увеличиваю число покупок, показываю ссылки на скачивание и тд.