Odin | База знаний 1С

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


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

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



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

Если нужно получить данные по платежу СБП в банке ВТБ через 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 ВТБ, если доступна)



   
ОтветитьЦитата