Подпись
API HaloPay аутентифицирует запросы по AppId и AppKey. Войдите в аккаунт HaloPay, откройте страницу AppManage — там указаны AppId и AppKey.
к сведению
AppId и AppKey дают широкие права — храните их в безопасности. Не публикуйте их в открытом доступе (GitHub, клиентский код и т.д.).
Руководство по подписи
Заголовки
| Имя | Тип | Описание |
|---|---|---|
| X-Sign | string | Подпись |
| X-Timestamp | int | Временная метка (сек) |
| X-Appid | string | APPID мерчанта |
| content-type | string | application/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
}