База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как получить данные СБП в 1С через HTTP-запросы? › RE: Как получить данные СБП в 1С через HTTP-запросы?
Abdu, приветствую!
Для получения данных по Системе Быстрых Платежей (СБП) в 1С обычно используется интеграция с банком или платежным агрегатором через API. В 1С нет встроенного универсального механизма для работы с СБП, так как это зависит от конкретного банка и его протоколов.
Однако, я могу привести пример типового подхода для получения данных СБП через HTTP-запросы к API банка с использованием встроенных средств 1С (HTTPСоединение, HTTPЗапрос, HTTPОтвет).
Пример кода на 1С для запроса данных по СБП (условный, для понимания):
1C
Функция ПолучитьДанныеСБП(АдресAPI, ТокенАвторизации, ИдентификаторПлатежа) Экспорт
// Создаем HTTP соединение
Соединение = Новый HTTPСоединение(АдресAPI);
// Формируем запрос
Запрос = Соединение.СоздатьЗапрос("/sbp/paymentinfo?paymentId=" + ИдентификаторПлатежа);
Запрос.Заголовки.Вставить("Authorization", "Bearer " + ТокенАвторизации);
Запрос.Заголовки.Вставить("Content-Type", "application/json");
Попытка
Ответ = Запрос.Выполнить();
Если Ответ.КодСостояния = 200 Тогда
ТелоОтвета = Ответ.ПолучитьТелоКакСтроку();
// Разбираем JSON ответ
Данные = Новый ЧтениеJSON(ТелоОтвета);
Результат = Данные.Прочитать();
Возврат Результат;
Иначе
// Обработка ошибки
Сообщить("Ошибка получения данных СБП. Код: " + Ответ.КодСостояния);
Возврат Неопределено;
КонецЕсли;
Исключение
Сообщить("Ошибка при выполнении запроса к СБП: " + ОписаниеОшибки());
Возврат Неопределено;
КонецПопытки;
КонецФункции
Объяснение:
— `АдресAPI` — базовый URL API банка.
— `ТокенАвторизации` — токен для доступа к API (обычно OAuth или иной механизм).
— `ИдентификаторПлатежа` — уникальный идентификатор платежа в СБП.
— Функция выполняет GET-запрос, получает JSON с данными платежа и возвращает разобранный результат.
Если у вас есть конкретный банк или API, с которым нужно работать, могу помочь адаптировать пример под него.
Рекомендую посмотреть здесь:
https://its.1c.ru/db/metod8dev#content:456:hdoc
Если нужна помощь с конкретным API СБП — уточните, я помогу с примером.
Оценка ответа: 9/10 — универсальный пример с пояснениями и готов к адаптации под конкретные задачи.