Назад к руководствам
Команда Pulse2Pay3 января 2025 г.2 мин чтения

Руководство по аутентификации API

Узнайте, как аутентифицировать API запросы с помощью API ключей и HMAC подписей в Pulse2Pay.

Pulse2Pay использует аутентификацию API Key + HMAC подпись для всех API запросов.

Обзор аутентификации

Каждый API запрос требует три заголовка:

ЗаголовокОписание

|-----------|----------|

X-Pulse2Pay-KeyВаш публичный API ключ (pk_live_ или pk_test_) X-Pulse2Pay-SignatureHMAC-SHA256 подпись запроса X-Pulse2Pay-TimestampТекущий Unix timestamp в миллисекундах

Получение учётных данных

  • Войдите в панель управления
  • Перейдите в Настройки > API ключи
  • Нажмите Сгенерировать новые ключи
  • Сохраните API Key и Secret
  • Генерация подписей

    Подпись вычисляется над каноническим запросом:

    signature = HMAC-SHA256(api_secret, canonical_request)
    

    canonical_request = timestamp + "." + method + "." + path + "." + body

    Компоненты

    КомпонентОписаниеПример

    |-----------|----------|--------|

    timestampUnix timestamp (миллисекунды)1705320000000 methodHTTP метод (заглавные)POST pathПуть запроса (без хоста)/api/merchant/v1/payments bodyТело запроса (пустая строка для GET){"amount":"100.00","currency":"USDT","network":"TRON"}

    Пример: Node.js

    const crypto = require('crypto');

    function signRequest(method, path, body, apiSecret) {

    const timestamp = Date.now().toString(); // миллисекунды

    const bodyString = body ? JSON.stringify(body) : '';

    const canonical = ${timestamp}.${method}.${path}.${bodyString};

    const signature = crypto

    .createHmac('sha256', apiSecret)

    .update(canonical)

    .digest('hex');

    return { timestamp, signature };

    }

    // Использование

    const body = {

    amount: '100.00',

    currency: 'USDT',

    network: 'TRON'

    };

    const { timestamp, signature } = signRequest(

    'POST',

    '/api/merchant/v1/payments',

    body,

    process.env.PULSE2PAY_API_SECRET // sk_live_...

    );

    Частые ошибки

    ОшибкаПричинаРешение

    |--------|---------|---------|

    INVALID_SIGNATUREНесовпадение подписиПроверьте формат канонической строки TIMESTAMP_EXPIREDTimestamp > 5 минИспользуйте текущий Unix timestamp INVALID_API_KEYКлюч не найденПроверьте правильность API ключа

    Лучшие практики безопасности

  • Не раскрывайте секреты: Храните API Secret только на сервере
  • Используйте переменные окружения: Не хардкодьте учётные данные
  • Ротируйте ключи периодически: Генерируйте новые ключи ежемесячно
  • Мониторьте использование: Проверяйте панель на необычную активность
  • Связанные ресурсы

  • Безопасность Webhook
  • API Reference
  • Приём USDT платежей
  • #api#аутентификация#hmac#безопасность

    Готовы начать?

    Создайте аккаунт мерчанта и начните принимать криптоплатежи уже сегодня.