認証 - ビットコイン決済APIドキュメント

coincheck paymentのAPIを利用にあたり、APIキーを利用した認証が必要となります。

APIキーはAPIキー設定画面から取得できます。APIキーは非常に重要な情報であるため、厳重に管理し、第三者に教えないようお願い致します。

また、APIは全てHTTPS接続でアクセスして下さい。

認証方法

認証には、それぞれのリクエストにHTTPヘッダーとして、 ACCESS-KEY ACCESS-SIGNATURE ACCESS-NONCE を送信する必要があります。

ACCESS-KEY はあなたのAPIキーのアクセスキーです。

ACCESS-NONCE は正の整数で、毎リクエストごとに増えていく値です。例えば最初に 1ACCESS-NONCE にした場合、次のリクエストでは 2 以上の整数を指定する必要があります。簡単に ACCESS-NONCE を設定するには、UNIXタイムスタンプを利用するなどが考えられます。

ACCESS-SIGNATUREACCESS-SIGNATUREの作成をご参照下さい。

認証例

APIアクセスキーが hoge
APIシークレットキーが foo
ACCESS_NONCE が 100
リクエスト先URLが https://coincheck.com/api/ec/buttons
リクエストボディが hoge=foo&bar=boo
リクエストメソッドが POST
である場合、curlを利用したリクエストは以下のようになります。

curl "https://coincheck.com/api/ec/buttons" \
  -X POST \
  -d "hoge=foo&bar=boo" \
  -H "ACCESS-KEY:hoge" \
  -H "ACCESS-SIGNATURE:6fb5a7f2a872adebd343fa8b463b3e2fe06cb088519f4836cda9a2b16bc30b97" \
  -H "ACCESS-NONCE:100"
  

ACCESS-SIGNATUREの作成

ACCESS-SIGNATURE は、 ACCESS-NONCE URL リクエストのボディ を全て文字列にし、連結したものを、HMAC-SHA256 hash形式でAPIキーのシークレットキーを使って署名した結果です。

Rubyでの作成例

require "openssl"

nonce = Time.now.to_i.to_s
url = "https://coincheck.com/api/ec/buttons"
body = "hoge=foo"
message = nonce + url + body
secret = "API_SECRET"
OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new("sha256"), secret, message)
# => "3919705fea4b0cd073b9c6e01e139f3b056782c57c5cffd5aea6d8c4ac98bef7"
  

PHPでの作成例

$strUrl = "https://coincheck.com/api/ec/buttons"
$intNonce = time();
$strCallbackUrl = "https://www.example.com/pg_coincheck_recv.php?order_id=123";
$arrQuery = array("button" => array(
    "name" => "注文 #123",
    "currency" => "JPY",
    "amount" => 5000,
    "callback_url" => $strCallbackUrl,
    "max_times" => 1
));
$strAccessSecret = "API_SECRET";
$strMessage = $intNonce . $strUrl . http_build_query($arrQuery);

# hmacで署名
$strSignature = hash_hmac("sha256", $strMessage, $strAccessSecret);
  

日本語で表示しますか?

はい いいえ もう表示しない

Show in English?

Yes No Never