Как в 1С получить данные по платежу СБП через API ВТБ?

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

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

        пример загрузки данных СБП банк ВТБ Соединение.СоздатьЗапрос(«/sbp/paymentinfo?paymentId=» + ИдентификаторПлатежа);

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

          Если нужно получить данные по платежу СБП в банке ВТБ через API, используя 1С и метод Соединение.СоздатьЗапрос, то пример кода будет выглядеть примерно так:

          1C
          Функция ПолучитьДанныеПлатежаСБП(ИдентификаторПлатежа)
          	
          	// Создаем HTTP соединение с базовым URL API ВТБ (пример)
          	АдресСервиса = "https://api.vtb.ru"; // заменить на реальный адрес API ВТБ
          	
          	Соединение = Новый HTTPСоединение(АдресСервиса);
          	
          	// Формируем URL запроса с параметром paymentId
          	ПутьЗапроса = "/sbp/paymentinfo?paymentId=" + ИдентификаторПлатежа;
          	
          	// Создаем запрос методом GET (Получить)
          	Запрос = Соединение.СоздатьЗапрос(ПутьЗапроса);
          	
          	// Устанавливаем заголовки, если требуется авторизация (например, OAuth2 токен)
          	// Токен нужно получить заранее и подставить сюда
          	ТокенАвторизации = "Bearer ваш_токен_доступа";
          	Запрос.УстановитьЗаголовок("Authorization", ТокенАвторизации);
          	Запрос.УстановитьЗаголовок("Accept", "application/json");
          	
          	// Отправляем запрос и получаем ответ
          	Ответ = Запрос.Получить();
          	
          	Если Ответ.КодСостояния = 200 Тогда
          		// Парсим JSON ответ
          		ТекстОтвета = Ответ.ПрочитатьКакСтроку();
          		ДанныеПлатежа = Новый ЧтениеJSON().Прочитать(ТекстОтвета);
          		Возврат ДанныеПлатежа;
          	Иначе
          		// Обработка ошибки
          		Сообщить("Ошибка получения данных СБП: " + Ответ.КодСостояния + " " + Ответ.ПрочитатьКакСтроку());
          		Возврат Неопределено;
          	КонецЕсли;
          	
          КонецФункции
          

          **Пояснения:**

          — `HTTPСоединение` — стандартный объект 1С для работы с HTTP(S).
          — В `АдресСервиса` укажите базовый URL API ВТБ.
          — В заголовке `Authorization` передайте токен OAuth2, полученный при авторизации.
          — Метод `СоздатьЗапрос` с параметром пути формирует GET-запрос.
          — Ответ ожидается в формате JSON, который парсится в структуру 1С.
          — Обработка ошибок по коду состояния HTTP.

          Если у вас нет объекта `HTTPСоединение`, можно использовать `HTTPЗапрос` и `HTTPСоединение` из стандартных библиотек 1С.

          Рекомендую посмотреть здесь:
          https://infostart.ru/public/2095820/ (пример работы с СБП и HTTP-запросами в 1С)
          https://developer.vtb.ru/ (официальная документация API ВТБ, если доступна)

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