QIWI-API / bill-payments-php-sdk

PHP SDK для единого платежного протокола эквайринга и QIWI Кошелька.
Other
56 stars 19 forks source link

getBillInfo ошибка #25

Open minxayzin opened 2 years ago

minxayzin commented 2 years ago

Fatal error: Uncaught Qiwi\Api\BillPaymentsException: HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1) in /var/www/html/lk/src/BillPayments.php:596 Stack trace: #0 /var/www/html/lk/src/BillPayments.php(484): Qiwi\Api\BillPayments->requestBuilder('cbb19a4a-eb84-4...') #1 /var/www/html/lk/proxy_pay_status.php(24): Qiwi\Api\BillPayments->getBillInfo('cbb19a4a-eb84-4...') #2 {main} thrown in /var/www/html/lk/src/BillPayments.php on line 596

minxayzin commented 2 years ago

не удается получить статус платежа.

navi705 commented 2 years ago

У меня такая же проблема нашли решение ?

minxayzin commented 2 years ago

решения не нашел. проверяю curl-ом

navi705 commented 2 years ago

А можете скинуть пример? Буду благодарен

mtrPooh commented 2 years ago

У меня вообще вместо массива возвращается true.

SerdarAD commented 2 years ago

У меня вообще вместо массива возвращается true.

Проверьте правильность секретного ключа .Также возможно что у вас нет = на его конце

shipulina commented 2 years ago

Fatal error: Uncaught Qiwi\Api\BillPaymentsException: HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1) ...

В requestBuilder в curl_setopt_array добавить _CURLOPT_HTTPVERSION

curl_setopt_array(
    $curl,
    [
        CURLOPT_URL            => $url,
        CURLOPT_HTTPHEADER     => $headers,
        CURLOPT_CUSTOMREQUEST  => $method,
        CURLOPT_POSTFIELDS     => $body,
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_HTTP_VERSION   => CURL_HTTP_VERSION_1_1, // <---
    ]
);
GENESIS-PLUS commented 2 years ago

Рабочий код

$billId = '000001';
$token = '543654354547658658568568585685353476';

$ch = curl_init('https://api.qiwi.com/partner/bill/v1/bills/' . $billId);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Accept: application/json',
'Authorization: Bearer '.$token,
));
$response = curl_exec($ch);     

$info = json_decode($response, true);
print_R($info);