Из за чего возникает ошибка Unrecognized token 'storeId': was expecting ('true', 'false' or 'null') при попытке отправить POST запрос через CURL?

131
13 августа 2021, 12:10

Не пойму из за чего может возникать ошибка при попытке отправить POST запрос. При попытке отправить POST запрос возникает такая ошибка: Array ( [state] => FAIL [message] => Unrecognized token 'storeId': was expecting ('true', 'false' or 'null') at [Source: java.io.PushbackInputStream@21ecdc9c; line: 1, column: 9] )

Вот код с помощью которого отправляю запрос:

    <?php 
    $curl = curl_init('https://payparts2.privatbank.ua/ipp/v2/payment/create');
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS,
    http_build_query(array(
        'storeId' => '4AAD1369CF734B64B70F',
        'orderId' => '12345',
        'amount' => 400,
        'partsCount' => 6,
        'merchantType' => 'II',
        'scheme' => 1111,
        'products' => array(
            array(
                'name' => 'Телевизор',
                'count' => 2,
                'price' => 200
            )
        ),
        'recipientId'=> 'qwerty1234',
        'responseUrl'=> 'http://shop.com/response',
        'redirectUrl'=> 'http://shop.com/redirect',
    'signature' => base64_encode (SHA1('75bef16bfdce4d0e9c0ad5a19b9940df'.'4AAD1369CF734B64B70F'.'12345'.'400'.'II'.'http://shop.com/response'.'http://shop.com/redirect'.array(array('Телевизор'.'2'.'200')).'75bef16bfdce4d0e9c0ad5a19b9940df'))
    ))
);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept: application/json','Accept-Encoding: UTF-8','Content-Type: application/json; charset=UTF-8'));
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($curl);

$curl_errno = curl_errno($curl);
$curl_error = curl_error($curl);
$aInfo = @curl_getinfo($curl);
curl_close($curl);
    ?>

Буду благодарен за любую помощь)

Answer 1

Я указывал Content-Type: application/json, а данные отправляете в формате application/x-www-form-urlencoded. Вам нужно использовать json_encode вместо http_build_query

READ ALSO
Laravel посредники

Laravel посредники

Задача:

287
buddypress: ещё один способ нотификации

buddypress: ещё один способ нотификации

У buddypress есть два способа нотификации - системные сообщения и почтаМне нужно добавить ещё один способ: смс

279
Похожие записи по меткам в Wordpress

Похожие записи по меткам в Wordpress

Я вывожу похожие посты по меткам, мне нужно чтобы первыми отображались те которые больше всего связаны с этим постом, тоесть к примеру:

157
Выводить среднее значение столбца с MS SQL

Выводить среднее значение столбца с MS SQL

Есть готовый код по графикам ,и теперь мне просто нужно по этому запросу

152