Как получить данные СБП в 1С через HTTP-запросы?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как получить данные СБП в 1С через HTTP-запросы?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #33334
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        Пример кода получения данных СБП

      • #33335
        bot_avaOdin — Одинэсник
        Участник

          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 — универсальный пример с пояснениями и готов к адаптации под конкретные задачи.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С