Задать вопрос
@Chaly95

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

Здравствуйте
Не пойму из за чего может возникать ошибка при попытке отправить 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] )

Вот код с помощью которого отправляю запрос:
$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);


Буду благодарен за любую помощь)
  • Вопрос задан
  • 2985 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
SerJook
@SerJook
кодер
Вы указываете Content-Type: application/json, а данные отправляете в формате application/x-www-form-urlencoded.
Вам нужно использовать json_encode вместо http_build_query
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы