SDK Java
Единый интерфейс для работы с ключевыми сервисами Sber API: авторизация, H2H, моментальные платежи, зарплатные проекты и другие операции.
Основные модули:
-
СберБизнес ID - базовый модуль авторизации (получение, обновление, отзыв токенов, смена клиентского секрета, информация о пользователе)
-
Компаниям - модуль прямой интеграции (H2H) для корпоративных клиентов
-
Моментальные платежи - модуль для быстрых платежных операций
Требования:
-
Java версия 1.8 или выше.
-
Необходимо установить банковский TLS сертификат в truststore вашего приложения.
Сборка библиотеки
Если вы хотите собрать библиотеку из исходного кода, выполните команду:
./gradlew :build-src:clean :build-src:buildInstantPayment :build-src:buildH2h
Собранные fatJar файлы (со всеми зависимостями) будут расположены в директории build-src/build/libs. Вы можете подключить их напрямую к своему проекту или использовать как референс для переноса кода.
Установка и настройка
Способы установки
Используйте этот способ для быстрого старта. FatJar содержит все необходимые зависимости.
Настройка сертификатов
Для работы с Sber API необходимо добавить TLS сертификат.
Требования: Java 1.8+
Способ 1: Добавление в truststore JDK
- Добавьте банковский сертификат в хранилище JDK:
keytool -importcert -alias <alias> -file <cert_path> -keystore <path_to_cacerts> -storepass changeit
Способ 2: Указание пути в коде (гибкий вариант)
- Укажите путь к сертификату при создании
HttpClientFactory
Подключение зависимостей
Gradle
repositories {
flatDir {
dirs("/path/to/SDK/")
}
}
dependencies {
implementation("ru.sberbank.sbbol.sberbusinessapi:sdk-instantpayment:release-1.0.0-SNAPSHOT")
implementation("ru.sberbank.sbbol.sberbusinessapi:sdk-h2h:release-1.0.0-SNAPSHOT")
}
Maven
<repositories>
<repository>
<id>local-sdk-repo</id>
<url>file:///path/to/SDK/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>ru.sberbank.sbbol.sberbusinessapi</groupId>
<artifactId>sdk-instantpayment</artifactId>
<version>release-1.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>ru.sberbank.sbbol.sberbusinessapi</groupId>
<artifactId>sdk-h2h</artifactId>
<version>release-1.0.0-SNAPSHOT</version>
</dependency>
</dependencies>
Использование SDK
Модуль "СберБизнес ID"
Сервис авторизации СберБизнес ID построен на базе протокола OAuth 2.0, с использованием типа авторизации Authorization Code Flow и с дополнительными параметрами и значениями, определенными протоколом OpenID Connect.
Авторизация с помощью СберБизнес ID позволяет платформе партнера получить информацию о клиенте банка и выполнять операции от имени клиента банка в системе СберБизнес.
Инициализация клиента:
HttpClientFactory httpClientFactory = HttpClientFactory.of()
.host("https://auth-server.url")
.customCertPath("/path/to/cert.p12")
.customCertPassword("password")
.build();
AuthorizationApiClient authClient = new AuthorizationApiClientImpl(httpClientFactory);
Основные методы:
Метод | Описание |
---|---|
getAccessToken() | Получение токена доступа |
getRefreshToken() | Обновление токена |
changeClientSecret() | Смена секрета клиента |
revokeToken() | Отзыв токена |
getUserInfo() | Информация о пользователе |
Модуль "Моментальные платежи"
Моментальные платежи – это сервис для организации расчетов, который позволяет формировать и отслеживать статус платежного поручения, где плательщиком выступает юридическое лицо или индивидуальный предприниматель, а получателем средств может быть юридическое лицо, физическое лицо или бюджетная организация.
Создание платежа:
InstantPaymentApi paymentsApi = new InstantPaymentApiImpl(httpClientFactory);
PaymentInvoiceRequest request = PaymentInvoiceRequest.builder()
.amount(100.50f)
.payeeAccount("40702810...")
.build();
PaymentInvoiceResponse response = paymentsApi.createPaymentInvoice(accessToken, request);
Генерация URL для подписания:
После создания платежа необходимо перенаправить пользователя в СберБизнес для подписания.
String url = paymentsApi.buildPaymentUrl(
externalId,
"https://callback.url",
CryptoprofileType.SMS,
"https://bank-host",
false
);
Модуль "Компаниям" (H2H)
Сервис для совершения операций в рамках одной организации.
Работа с платежными поручениями:
H2hApi h2hApi = new H2hApiImpl(httpClientFactory);
// Создание платежного поручения
FintechPayment payment = h2hApi.createPayment(accessToken, paymentRequest);
// Получение статуса
FintechPaymentDocState state = h2hApi.getPaymentDocState(accessToken, externalId);
Управление сертификатами:
Метод | Описание |
---|---|
certificateRequest() | Запрос нового сертификата |
activateCert() | Активация сертификата |
getCertState() | Проверка статуса сертификата |
Дополнительная информация:
-
Генерация PKCE: В SDK встроены утилиты для безопасной генерации code_verifier и code_challenge для потока OAuth 2.0 PKCE.
-
Поддержка функционала: Помимо платежей, SDK поддерживает работу с зарплатными ведомостями и получение выписок.
-
Тестовое окружение: Для работы в тестовом контуре используйте сертификаты Минцифры russiantrustedca.pem.