0

我正在使用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() 似乎是唯一有效的函数。

4

2 回答 2

0

我看到您已经回答了自己的问题,但让我扩展一下您收到 401 错误的原因。

正如@r3wt 提到的,401 表示未经授权的错误。Coinbase 最近推出了一项新功能,可以让你管理任何 api 密钥对的权限。您可以在此处查看权限:http: //i.imgur.com/ZKoGpz2.png

您的问题可能是由不正确的权限引起的。Coinbase 也确实发生了中断,并更新了他们的 API 和 UI。那时您可能已经进行了 api 调用,但它可能失败了。我希望这可以解释您可能遇到的任何问题。

于 2014-04-04T04:55:50.700 回答
-1

我发现 coinbase-php 中包含一个 getOrder() 函数,它只是不在文档中。此代码有效:

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

我仍然不确定我的原始代码失败的确切原因,但至少我有一个解决方案。

于 2014-04-03T18:18:29.940 回答