Я пытаюсь добавить Google reCAPTCHA в платежную систему своего сайта. Проблема в том, что мне нужно отправить платежный запрос поставщику платежей через форму POST. Итак, мне нужно проверить ответ captcha, но он возвращается на страницу, и мне нужно выяснить, была ли проверка captcha завершена успешно или нет, прежде чем отправлять их моему поставщику платежей (у меня был кто-то, кто спамил систему украденными кредитными картами) .
Итак, я поискал решения в Интернете. Один мне очень понравился из другого вопроса. У человека, спрашивающего, была аналогичная настройка, и ему было рекомендовано создать новую страницу, которая получит проверку Google, и, если капча передана, автоматически заставит форму отправить.
HEre - это код для всей страницы
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"> </script>
</head>
<body >
<?php
if(isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response'])){
$secret = 'supersecretcode';
$verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response']);
$responseData = json_decode($verifyResponse);
if($responseData->success)
{
?>
<form id="theForm" action="https://www.beanstream.com/scripts/process_transaction.asp" method="post">
<?php
foreach ($_POST as $a => $b) {
echo '<input type="hidden" name="'.htmlentities($a).'" value="'.htmlentities($b).'">';
}
?>
</form>
<script type="text/javascript">
//alert("send");
document.getElementById('theForm').submit();
</script>
<?
}
else
{
echo 'Robot verification failed, please try again.';
}
}
?>
</body>
Я пробовал несколько способов принудительной отправки, найденных в различных запросах помощи. Закомментированное предупреждение работает, но не выполняет «отправку».
В чем проблема? Просматривал звонок, должно работать