Загрузка...

Coinbase Pro API PHP - invalid signature

Тема в разделе Backend создана пользователем MORTY 8 авг 2022. 221 просмотр

  1. MORTY
    MORTY Автор темы 8 авг 2022 i ball was rawt 11 591 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]

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