我使用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()似乎是唯一有效的函数。
答案 0 :(得分:0)
我发现coinbase-php中包含了一个getOrder()函数,它只是在文档中。 这段代码正在运行:
$coinbase = Coinbase::withApiKey($coinbase_key, $coinbase_secret);
$status = $coinbase->getOrder($order_id)->status;
我仍然不确定为什么我的原始代码失败了,但至少我有一个解决方案。
答案 1 :(得分:0)
我看到你已回答了自己的问题,但让我继续说明你为什么会遇到401错误。
如@ r3wt所述,401表示未经授权的错误。 Coinbase最近推出了一项新功能,可以让您管理任何api密钥对的权限。您可以在此处查看权限:http://i.imgur.com/ZKoGpz2.png
您的问题可能是由不正确的权限引起的。 Coinbase也确实发生了中断,并且还更新了他们的API和UI。您可能已经进行了api调用,但可能失败了。我希望这能解释你可能遇到的任何问题。