Загрузка...

Coinbase Pro API PHP - invalid signature

Thread in Backend created by MORTY Aug 8, 2022. 220 views

  1. MORTY
    MORTY Topic starter Aug 8, 2022 i ball was rawt 11,591 Oct 13, 2018
    документация - https://docs.cloud.coinbase.com/exchange/docs/authorization-and-authentication

    что пытаюсь сделать - https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_postcoinbaseaccountaddresses

    мой код:
    PHP
    <?php

    $user_id = "---";
    $api_key = "---";
    $api_secret = "---";
    $passphrase = "---";

    $timestamp = time();
    $method = 'POST';

    $path = '/coinbase-accounts/' . $user_id . '/addresses';

    $body = json_encode(array(
    'account_id' => $user_id,
    ));

    $message = $timestamp . $method . $path . $body;
    $signature = hash_hmac('SHA256', $message, $api_secret);


    $headers = array(
    'CB-ACCESS-KEY: ' . $api_key,
    'CB-ACCESS-SIGN: ' . $signature,
    'CB-ACCESS-TIMESTAMP: ' . $timestamp,
    'CB-ACCESS-PASSPHRASE: ' . $passphrase,
    'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36'
    );


    $api_url = "https://api.exchange.coinbase.com" . $path;

    $curl = curl_init($api_url);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $body);

    $resp = curl_exec($curl);
    echo $resp;

    curl_close($curl);

    ?>
    получаю ошибку invalid signature, все уже нахуй перешерстил, нихуя не понимаю в чем траббл

    [IMG]

    вроде правильно подписываю, хуй знает ваще помогите нахуй
     
  2. m0bius
    m0bius Aug 8, 2022 326 May 31, 2021
    декодируй секретный ключ , при отправке закодируй подпись в base64
     
    1. MORTY Topic starter
      m0bius,
      PHP
      $api_secret = base64_decode("---");
      ...
      $signature = base64_encode(hash_hmac('SHA256', $message, $api_secret));
      сделал так, та-же хуйня
Loading...
Top