Coinbase-php выдает ошибку 401 при использовании функций, отличных от createButton()

Я использую coinbase-php для создания платежных страниц и обработки заказов на моем веб-сайте. Я могу без проблем создавать кнопки и страницы оплаты, но когда я пытаюсь проверить статус заказа, я получаю ошибку 401. Код, который я использую:

$coinbase = Coinbase::withApiKey($coinbase_key, $coinbase_secret);
$data = json_decode($coinbase->get('/orders/'.$order_id));

И это соответствующее сообщение об ошибке:

Notice: exception 'Coinbase_ApiException' with message 'Status code 401' in lib\Coinbase\Requestor.php:22  
Stack trace:  
#0 lib\Coinbase\Rpc.php(95): Coinbase_Requestor->doCurlRequest(Resource id #50)  
#1 lib\Coinbase\Coinbase.php(64): Coinbase_Rpc->request('GET', '/orders/6c00ec5...', Array)  
#2 inc\admin\orders.inc.php(214): Coinbase->get('/orders/N1263OA...')  

Я протестировал несколько других функций из библиотеки, и, похоже, единственная, которая работает, - createButton().

2 ответа

Решение

Я обнаружил, что есть функция getOrder(), включенная в coinbase-php, но ее нет в документации. Этот код работает:

$coinbase = Coinbase::withApiKey($coinbase_key, $coinbase_secret);
$status = $coinbase->getOrder($order_id)->status;

Я до сих пор не знаю точно, почему мой оригинальный код не удался, но, по крайней мере, у меня есть решение.

Я вижу, что вы ответили на свой вопрос, но позвольте мне рассказать, почему вы получили ошибку 401.

Как упоминалось @r3wt, 401 означает несанкционированную ошибку. Coinbase недавно представила новую функцию, которая позволяет вам управлять разрешениями для любой пары ключей API. Вы можете увидеть разрешения здесь: http://i.imgur.com/ZKoGpz2.png

Возможно, ваша проблема вызвана неправильными разрешениями. У Coinbase также произошел сбой, а также были обновлены их API и пользовательский интерфейс. Возможно, вы тогда сделали свой вызов API, и он мог потерпеть неудачу. Надеюсь, это объяснило все ваши вопросы.

Другие вопросы по тегам