Переводы c бизнес-карт
Переводы на карты Сбера или другие карты банков-эмитентов РФ, а также на банковские счета.
Обзор продукта
Общий перечень и порядок использования ресурсов SberAPI, относящихся к функциональности продукта.
Порядок использования
Перечень ресурсов
| Используемые ресурсы SberAPI | Описание |
|---|---|
| /ic/sso/api/v2/oauth/token | Авторизация пользователя. Токен доступа понадобится при обращении к API-запросам. Подробнее в разделе СберБизнес ID. |
| /fintech/api/v2/corporate-cards/list | Получение списка бизнес-карт. Понадобится при работе с функциональностью переводов. |
| /fintech/api/v2/corporate-cards/transfer | Работа с функциональностью переводов: - получение ключа шифрования, - создание заявления на перевод и получение размера комиссии, - получение статуса заявления, - получение списка заявлений. |
| /fintech/api/v2/corporate-cards/sign-and-approve | Подписание заявления на перевод. |
Варианты применения
Общие примеры состава и порядка исполнения запросов SberAPI. Состав и порядок запросов может отличаться в зависимости от ваших бизнес-задач.
При помощи ERP-системы
| Шаг | Запросы SberAPI | Код операции в scope |
|---|---|---|
| 1 Получите токен доступа | POST /ic/sso/api/v2/oauth/token | openid |
| 2 Получите информацию по бизнес-картам | POST /fintech/api/v2/corporate-cards/list | CORPORATE_CARDS |
| 3 Получите ключ шифрования1 | GET /fintech/api/v2/corporate-cards/transfer/public-key | CORPORATE_CARDS |
| 4 Создайте заявление на перевод и получите размер комиссии2 | POST /fintech/api/v2/corporate-cards/transfer/commission | BUSINESS_CARDS_TRANSFER |
| 5 Подпишите заявление на перевод3 | POST /fintech/api/v2/corporate-cards/sign-and-approve | BUSINESS_CARDS_TRANSFER |
| 6 Получите статус заявления на перевод | GET /fintech/api/v2/corporate-cards/transfer/{externalId}/status | BUSINESS_CARDS_TRANSFER |
| 7 Получение списка заявлений на перевод со статусами переводов | POST /fintech/api/v2/corporate-cards/transfer/list | BUSINESS_CARDS_TRANSFER |
Участники Пользователь – сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках вашего сервиса (Платформа), Платформа – любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи, Sber API – запросы и ресурсы Sber API, к которым обращается Платформа.
Предварительные условия Пользователь: имеет профиль в СберБизнес своей компании и прошел авторизацию.
ERP-cистема:
- имеет функциональности хранения индентификаторов активных бизнес-карт,
- ввода реквизитов перевода, подтверждения согласия с условиями перевода (отображение комиссии),
- создания ЭП к документу,
- информирования о создании заявления,
- отображения списка заявлений и статусов перевода.
Результат Заявление на пер евод по бизнес-карте создано и подписано, Отображаются список заявлений и статусы переводов.
В этом варианте применения можно использовать подписание документа при помощи API-запроса. ЭП должна принадлежать сотруднику вашей компании. Подробнее....



Шифрование номера карты получателя
В поле encryptedCardNumber не допускается передача номера карты получателя в открытом виде, значение номера карты должно быть обязательно зашифровано. Для шифрования номера карты необходимо получить публичный ключ. Номер карты перед шифрованием не должен содержать пробелов и спецсимволов. Получившуюся строку необходимо зашифровать, используя алгоритм RSA шифрования "RSA/OAEP" с ключом длиной 2048. Необходимо использовать криптографическую хеш-функцию SHA-1.
RSA/OAEP (Optimal Asymmetric Encryption Padding) - это алгоритм шифрования, разработанный для улучшения безопасности и з ащиты от атак на основе подобранных открытых текстов в асимметричных системах шифрования. RSA/OAEP использует ключ длиной 2048 бит, что является достаточно длинным и сложным для обеспечения безопасности.
Пример: Строка перед шифрованием - 0000000000000000
Зашифрованная строка - HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT
Для получения публичного ключа шифрования необходимо отправить GET-запрос /fintech/api/v2/corporate-cards/transfer/public-key
Дайджест перевода
Формирование дайджеста должно полностью соответствовать ответу на расчет комиссии: включать только присутствующие поля и значения, сохраняя их исходные типы данных и точный порядок из примера ниже. Любые отклонения приведут к ошибке подписи. Конкретные примеры:
- Если в ответе amount=10, в дайджесте должно быть amount=10
- Если какое-то поле, например organizationName отсутствует в ответе, то и в дайджест его включать не нужно
Дайджест ERP-перевода по номеру карты:
externalId=607e9b20-ff6b-4e1a-1111-af12d56caa60
transferPurpose=За товар по договору №2 от 12/01/2024
transferAmount.amount=1000.00
transferAmount.currency=RUB
transferCommission.amount=10.00
transferCommission.currency=RUB
senderInfo.businessCardId=c114a123-44f5-4fc5-8a79-cbb09f40ca8b
receiverInfo.encryptedCardNumber=GK1rG0H+ULhAvi8wjkZUIY+ymA/WmmItbrWm1xY0Lbb44bXzw+uO7qU1MaN0/IM1eQ6MmehnX608J6NExJwmheRofwT8aZG7sVg6PQADvpPcMhGUPBOPe4KcMD/rR04/BxA/EB0c/mooLPPRu9NYyuEfIvZCXhXxSSEklpsOOyN7oPYnUC2X7/Ec+8eRmaSEA7l6r+ObDnrQKwpKFqHgTzihuInic+g8oHbR4K3ksS+KwCbPPokyGItahMWnAoRYX2oeRBg7Fvbn+r0aaUVU+eJC2wUqkhdkVjvkk6sijPrcKiK+DRBBxYK66LVGGrqEaROU/wzBwOGKHpw3JFtXwQ==
receiverInfo.lastName=И.
receiverInfo.firstName=ИВАН
receiverInfo.middleName=ИВАНОВИЧ
receiverInfo.bankName=Сбербанк
receiverInfo.organizationName=ПАО ВСПЫШКА