Название проекта
Интеграция с API Сбербанка для получения выписок и обработки финансовых данных.
Цель проекта
Автоматизация взаимодействия с API Сбербанка для получения данных:
Авторизация клиента через OAuth 2.0.
Получение выписок по счёту.
Получение выписки в печатном формате (PDF).
Загрузка файлов, связанных с финансовыми операциями.
Обработка данных для дальнейшей интеграции с внутренними системами.
Основные этапы работы
1. Настройка доступа и безопасности
Установить сертификаты, предоставленные Сбербанком:
Формат файлов .jks и .pfx конвертируется в .pem и .key для использования в PHP.
Конфигурация файлов сертификатов в коде:
cert.pem — клиентский сертификат.
key.pem — закрытый ключ.
Обеспечить безопасное хранение токенов и ключей.
2. Реализация авторизации через OAuth 2.0
Авторизация пользователя:
Сбор необходимых параметров (client_id, redirect_uri, scope, state, nonce).
Генерация ссылки для получения кода авторизации.
Обмен кода авторизации на токен доступа:
Выполнение POST-запроса на /ic/sso/api/v2/oauth/token с параметрами:
grant_type: authorization_code.
code — полученный код авторизации.
client_id и client_secret.
Обновление токена:
Выполнение POST-запроса на тот же URL с параметром grant_type: refresh_token.
3. Работа с клиентскими данными
Запрос данных о пользователе через /ic/sso/api/v2/oauth/user-info.
Расшифровка JSON Web Token (JWT) для извлечения полезной информации:
Использование Base64URL для декодирования токена.
https://developers.sber.ru/docs/ru/sber-api/specifications/statement-print-get