You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gate.io V4 API PHP下单遇Signature mismatch错误求助

Gate.io V4 API 创建订单「Signature mismatch」错误排查与修复

你遇到的签名不匹配问题,核心是签名字符串构造错误以及POST请求参数传递方式错误,以下是具体问题和修复方案:

关键错误点

  • Hashed Payload 变量引用错误:代码中使用了未定义的$payload变量,实际应该使用POST请求的JSON Body字符串$sBody来计算哈希。
  • POST请求错误携带Query参数:创建订单的POST接口参数应放在请求Body中,而非URL Query,但你错误地将Body参数转为Query参数加入签名字符串,同时拼接到请求URL上,导致签名校验逻辑完全偏离要求。
  • 请求Body传递错误:调用CURL请求时,错误地将Query字符串作为Body传递,实际应传递JSON格式的$sBody。
  • 缺少必要请求头:未添加Content-Type: application/json头,服务器无法正确识别Body参数格式。

修正后的代码

<?php

$key = "XXXXXXXXXXXXXXXXXXXXXXX";
$secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$host = 'https://api.gateio.ws/api/v4';
$sResourcePath = "/spot/orders";
$sMethod = "POST";

// 构造POST请求Body参数
$aPayload = [
    'currency_pair' => "DOT_USDT",
    'price' => "6.330033",
    'account' => "spot",
    'side' => "buy",
    'amount' => "1",
    'time_in_force' => "gtc"
];
$sBody = json_encode($aPayload);

$aFullPath = parse_url($host . $sResourcePath);
$fullPath = $aFullPath['path'];

// 获取UTC秒级时间戳(需确保服务器时间与Gate.io服务器同步,偏差过大也会导致签名失败)
$timestamp = time();
// 计算Body的SHA512哈希值
$hashedPayload = hash("sha512", $sBody);
// POST请求的查询参数部分为空字符串
$signatureString = sprintf("%s\n%s\n%s\n%s\n%s", $sMethod, $fullPath, "", $hashedPayload, $timestamp);

// 生成HMAC-SHA512签名
$signature = hash_hmac("sha512", $signatureString, $secret);

// 构造请求头,必须包含Content-Type
$aHeaders = [
    "KEY: " . $key,
    "SIGN: " . $signature,
    "Timestamp: " . $timestamp,
    "Content-Type: application/json"
];
$aExtraParams['sHttpHeaders'] = $aHeaders;

// POST请求URL无需拼接Query参数
$sSubmitUrl = $host . $sResourcePath;
// 传递JSON格式的Body作为请求参数
$sPage = CURL::doRequest($sMethod, $sSubmitUrl, $sBody, $aExtraParams);

$aPage = json_decode($sPage, true);
echo "<pre>";
print_r($aPage);
echo "</pre>";

?>

额外注意事项

  • 确保服务器时间与UTC时间同步,时间偏差超过30秒会触发签名校验失败。
  • 所有参数的格式需严格匹配文档要求(比如价格、金额的字符串格式)。
  • 签名字符串的顺序必须严格遵循:请求方法\n接口路径\n查询参数\n哈希后的Body\n时间戳,POST请求的查询参数部分必须留空。

内容的提问来源于stack exchange,提问作者Marcus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 06:50:25