SyntaxError: Unexpected token '<', "<form id=""... is not valid JSON в платежном плагине WooCommerce
Всем привет. Я работаю над платежным плагином для WooCommerce. В руководстве по платежному шлюзу сказано, что мне нужно отправить форму с данными, используя метод POST, чтобы перенаправить клиента на страницу подтверждения 3DS. Я получаю SyntaxError: Unexpected token '<', "<form id=""... недействителен JSON. Я уже отключил все сторонние плагины и использовал тему Storefront, чтобы устранить их влияние. Я сделать запрос, используя свой код напрямую, без WooCommerce, и все отработало как положено - меня перенаправило на страницу 3DS.
Код всего плагина: https://codeshare.io/Odwv4N
Кусок кода в котором происходит отправка формы.
$json = json_encode($data);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.pinpaygate.com/dev/card/process',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>$json,
));
$response = curl_exec($curl);
curl_close($curl);
$response_data = json_decode($response, true);
// Check if success field is true
if ($response_data['success'] == true) {
// Check if 3DSecure authentication is needed
if (isset($response_data['acs'])) {
// If the acs object contains multiple fields, perform a POST redirection
if (isset($response_data['acs']['parameters']['PaReq'])) {
// Perform a POST redirection using a form
echo '<form id="myForm" action="' . $response_data['acs']['url'] . '" method="POST">';
echo '<input type="hidden" name="PaReq" value="' . $response_data['acs']['parameters']['PaReq'] . '">';
echo '<input type="hidden" name="MD" value="' . $response_data['acs']['parameters']['MD'] . '">';
echo '<input type="hidden" name="TermUrl" value="' . $response_data['acs']['parameters']['TermUrl'] . '">';
echo '</form>';
echo '<script>document.getElementById("myForm").submit();</script>';
exit;
Источник: Stack Overflow на русском