0

我正在尝试使用简单的 PHP 函数将“/orders”发布到 GDAX。我没有得到回应,也没有错误。没有下订单,也没有 PHP 错误/警告。

不知道我哪里出错了。

function gdaxPost ($path, $post_array){
    $url = 'https://api-public.sandbox.gdax.com/'.$path;

    // Sandbox API #1 - fake key
    $key = "03cc35bd4fb48ardad8097e0a45f";
    $secret = "ihGzWV+li8AweKcL+oMDUvBzlmq9fR7z6rKksg43VFcWA3zysg6TxM+gGhEn0wg==";
    $passphrase = "jqer9jxgfa6qcl";

    $time = time();
    $data = $time."POST"."/orders";
    $sign = base64_encode(hash_hmac("sha256", $data, base64_decode($secret), true));                
    $headers = array(                
        'CB-ACCESS-KEY: '.$key,
        'CB-ACCESS-SIGN: '.$sign,
        'CB-ACCESS-TIMESTAMP: '.$time,
        'CB-ACCESS-PASSPHRASE: '.$passphrase,
        'Content-Type: application/json'
    );

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36');
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post_array));
    curl_setopt($ch, CURLOPT_URL, $url);
    $res = curl_exec($ch);
    return $res;
}

$path = 'orders';
$post_array = array(
"price" => "600",
"size" => "1.01",
"side" => "buy",
"type" => 'limit',
"time_in_force" => "GTC",
"product_id" => "BTC-USD"
);

print_r(json_decode(gdaxPost ($path, $post_array)),true);

编辑:我修复了代码!

这是更新的工作代码:

function gdaxPost ($path, $post_array){
    $url = 'https://api-public.sandbox.gdax.com/'.$path;

    // Sandbox API #1 - fake key
    $key = "03cc35bd4fb48ardad8097e0a45f";
    $secret = "ihGzWV+li8AweKcL+oMDUvBzlmq9fR7z6rKksg43VFcWA3zysg6TxM+gGhEn0wg==";
    $passphrase = "jqer9jxgfa6qcl";

    $time = time();
    $data = $time."POST"."/".$path.json_encode($post_array);
    $sign = base64_encode(hash_hmac("sha256", $data, base64_decode($secret), true));                
    $headers = array(                
        'CB-ACCESS-KEY: '.$key,
        'CB-ACCESS-SIGN: '.$sign,
        'CB-ACCESS-TIMESTAMP: '.$time,
        'CB-ACCESS-PASSPHRASE: '.$passphrase,
        'Content-Type: application/json'
    );

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36');
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_array));
    curl_setopt($ch, CURLOPT_URL, $url);
    $res = curl_exec($ch);
    return $res;
}

$path = 'orders';
$post_array = array(
"price" => "600",
"size" => "1.01",
"side" => "buy",
"type" => 'limit',
"time_in_force" => "GTC",
"product_id" => "BTC-USD"
);

print_r(gdaxPost ($path, $post_array));
4

0 回答 0