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 に答える