SDK Node.js
Единый интерфейс для работы с ключевыми сервисами Sber API: авторизация, H2H, моментальные платежи, зарплатные проекты и другие операции.
Основные модули:
-
СберБизнес ID - базовый модуль авторизации (получение, обновление, отзыв токенов, смена клиентского секрета, информация о пользователе)
-
Компаниям - модуль прямой интеграции (H2H) для корпоративных клиентов
-
Моментальные платежи - модуль для быстрых платежных операций
Требования:
-
Node.js версии 14.18.0 или выше.
-
Необходимо установить банковский TLS сертификат в truststore вашего приложения.
Установка и настройка
Доступные сборки
Скачайте исходный код проекта и установите его в ваш локальный репозиторий.
Сборка SDK из исходного кода:
npm pack
Готовая сборка для использования в проектах:
Установка в свой проект .tgz
-архива.
npm install ./sber-business-api-1.0.0.tgz
Настройка клиента
Для настройки клиента необходимо импортировать класс клиента
import ApiClient from './ApiClient.js';
и его сконфигурировать:
const client = new ApiClient({
// Базовые настройки
host: 'https://iftfintech.testsbi.sberbank.ru:9443',
// Настройки сертификатов
p12Path: '/path/to/certificate.p12',
p12Password: 'certpass',
caPath: '/path/to/russiantrustedca2024.pem',
// Настройки времени ожидания
connectionTimeout: 60000,
readTimeout: 60000,
// Повторные попытки
maxRetries: 3, // Максимальное количество повторов
retryDelay: 1000, // Задержка между повторами (мс)
// Логирование
enableLogs: true
});
Инициализация
import ApiClient from '../lib/authorization/client.js';
import H2hClient from '../lib/h2h/h2hClient.js'
import SignatureVerificationService from '../lib/authorization/signatureVerificationService.js';
//Инициализация сервиса проверки JWT
const verifier = new SignatureVerificationService('/Users/18701423/Downloads/00CA0721_тестовый корень Минцифры.cer');
//Инициализация клиента (общее для всех модулей)
const client = new ApiClient({
conntectionTimeout: 60000,
readTimeout: 60000,
host: 'https://iftfintech.testsbi.sberbank.ru:9443',
p12Path: '/Users/18701423/Downloads/SBBAPI_1958729756739688672_173a5fe4-68f5-4014-91c7-1730e19e3324.p12',
caPath: '/Users/18701423/Documents/certs/минЦифры/russiantrustedca2024.pem',
p12Password: 'Yjubherb123',
enableLogs: true,
maxRetries: 3, // опционально: по умолчанию 3
retryDelay: 1000, // опционально: по умолчанию 1 сек
});
//Для модуля "Компаниям"
const h2hClient = new H2hClient(client)
//Для модуля "Моментальные платежи"
const instantPaymentApi = new InstantPayment(client)
//Метод получения access_token
const result = await client.getAccessToken({
code: _CODE,
client_id: _CLIENT_ID,
redirect_uri: _REDIRECT_URI,
client_secret: _CLIENT_SECRET,
});
//Проверка JWT
let verifyJwtResult = verifier.verifyJwt(result.id_token)
Дополнительная информация:
- Для метода проверки подписи
javascript verifier.verifyJwt(result.id_token)
используется Java 1.8 +