@linuxnb

Почему не отправляется json через CURL POST (PHP)?

Здравствуйте, не получается при помощи PHP отправить запрос на QIWI API при помощи Curl (Post)

По ошибке я понял, что я не правильно передаю Json, но как то не получается решить данную проблему((

{"message":"Invalid Json: No content to map due to end-of-input\n at [Source: akka.util.ByteIterator$ByteArrayIterator$$anon$1@51927426; line: 1, column: 0]"}1

$data = '{"id":"83278954723985","sum":{"amount":1.50,"currency":"643"},"paymentMethod":{"type":"Account","accountId":"643"},"comment":"test","fields":{"account":"+79024049398"}';
if ($curl = curl_init()) {
    curl_setopt($curl, CURLOPT_URL, 'https://edge.qiwi.com/sinap/api/v2/terms/99/payments');

    curl_setopt($curl, CURLOPT_HTTPHEADER, array('Authorization: Bearer api_key','Content-type: application/json','Host: edge.qiwi.com'));
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, json_decode($data));
    echo $response = curl_exec($curl);
    curl_close($curl);
}


UDP: Я только что открыл для себя CURL, а JSON вообще еще толком не понял. не судите строго)

Заранее спасибо за помощь!)

ссылка на qiwi api
https://developer.qiwi.com/ru/qiwicom/index.html#p2p
  • Вопрос задан
  • 946 просмотров
Решения вопроса 1
0xD34F
@0xD34F
Ну, ясно же написано - Invalid Json. У вас в $data отсутствует в конце закрывающая фигурная скобка.

Сейчас: ..."+79024049398"}.
Должно быть: ..."+79024049398"}}.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@linuxnb Автор вопроса
В ответ получил
Catchable fatal error: Object of class stdClass could not be converted to string

ВОт эта строка
curl_setopt($curl, CURLOPT_POSTFIELDS, json_decode($data));

нашел ошибку, декод убрал, тупанул.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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