Перейти к основному содержимому

Подпись

API HaloPay аутентифицирует запросы по AppId и AppKey. Войдите в аккаунт HaloPay, откройте страницу AppManage — там указаны AppId и AppKey.

к сведению

AppId и AppKey дают широкие права — храните их в безопасности. Не публикуйте их в открытом доступе (GitHub, клиентский код и т.д.).

Руководство по подписи

Заголовки

ИмяТипОписание
X-SignstringПодпись
X-TimestampintВременная метка (сек)
X-AppidstringAPPID мерчанта
content-typestringapplication/json

Алгоритм подписи

// sign (golang)
func hmacSHA256Sign(appKey, timestamp string, body interface{}) (string, error) {
jsonStr, err := json.Marshal(body)
if err != nil {
return "", err
}
sha256Mac := hmac.New(sha256.New, []byte(appKey))
_, err = sha256Mac.Write(append(jsonStr, []byte(timestamp)...))
if err != nil {
return "", err
}
return hex.EncodeToString(sha256Mac.Sum(nil)), nil
}