@alex_gamescripts

Как выставить счет в QIWI API?

Всем привет. При выставление счета в QIWI API столкнуля с проблемой, вылезает ошибка 400:
http.message.conversion.failed


Код который я использую:
<?php


//АВТОРИЗАЦИЯ
$qiwi_secret = 'eyJ2ZXJzaW9uIjoiUDJQIiwiZGF0YSI6eyJwYXlpbl9tZXJjaGFudF9zaXRl********************=';

$billid = time() + 10 * 5;
$fields = [
  'amount' => 1.00,
  'currency' => 'RUB',
  'comment' => 'test',
  'expirationDateTime' => '2029-08-12T21:45:00+03:00'
];

$link='https://api.qiwi.com/partner/bill/v1/bills/'.$billid;
$curl=curl_init();

curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl,CURLOPT_URL,$link);
curl_setopt($curl,CURLOPT_PUT,true);
curl_setopt($curl,CURLOPT_POSTFIELDS,http_build_query($fields));
curl_setopt($curl, CURLOPT_HTTPHEADER, [
            'Accept: application/json',
            'Content-Type: application/json',
            'Authorization: Bearer ' . $qiwi_secret
        ]);
        
$out=curl_exec($curl);
$code=curl_getinfo($curl,CURLINFO_HTTP_CODE); //код ответа сервера
curl_close($curl);

$response=json_decode($out,true);
$code_answer=json_decode($code,true);
print_r($code_answer);
echo '<br>';
print_r($response);
?>


Вот какой ответ я получаю:
Array ( [serviceName] => invoicing-api
        [errorCode] => http.message.conversion.failed
        [description] => Bad request
        [userMessage] => Bad request
        [dateTime] => 2020-08-12T17:59:39.024+03:00
        [traceId] => 51ba0fa1e476552d )


Кто знает, как помочь, пишите. Отблагодарю
  • Вопрос задан
  • 1039 просмотров
Пригласить эксперта
Ответы на вопрос 1
DjozefonGang
@DjozefonGang
Программист, дизайнер.
Запрос отправляется в кодировке Win1251, а должен в UTF8.
https://developer.qiwi.com/ru/qiwi-wallet-personal/ (создание инвойса, оплата инвойса)
Ответ написан
Ваш ответ на вопрос

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

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