Download OpenAPI specification:Download
Свои предложения и идеи о документации можно оставить в репозитории по адресу: https://github.com/Raiffeisen-DGTL/ecom-API/blob/master/sbp.yaml
Для приема СБП-платежей оставьте заявку на сайте.
Райффайзенбанк выполнит регистрацию. После завершения процесса вы будете оповещены по электронной почте.
По закону от 22.05.2003 № 54–ФЗ "О применении контрольно-кассовой техники при осуществлении расчетов в Российской Федерации" при оплате товаров, работ или услуг необходимо формировать фискальный чек и отправлять его в налоговую с помощью кассы.
Райффайзенбанк предоставляет возможность фискализировать чеки через API банка.
Кассовая ссылка или QRVariable - вид QR-кода, который отлично подойдет для приема платежей в торговой точке. Такой QR-код выпускается единожды для каждой кассы, а затем каждый раз активируется для приема платежа.
Для приема платежей с использованием кассовой ссылки отлично подойдут Платежные таблички Банка, либо же переносное устройство Pay-Point.
После получения Платежной таблички либо Pay-Point, устройство следует установить рядом с кассой, выполнить [Привязку QR-кода к мерчанту] по API либо Привязку QR-кода к мерчанту через интерфейс в Онлайн-Банке.
Далее необходимо сохранить настройки для работы с кассовой ссылкой на кассе для дальнейшей активации QR-кода и приема платежей со стороны кассы.
Параметры, необходимые для сохранения в кассу для корректной работы по протоколу кассовой ссылки:
| Параметр | Описание параметра |
|---|---|
qrId |
Идентификатор QR-кода |
publicId |
Идентификатор мерчанта |
secretKey |
Ключ, необходимый для авторизации в сервисе Банка при отправке запросов по API |
После формирования корзины касса должна отправить [Запрос на создание заказа] для активации QR-кода и получить статус оплаты после ее совершения плательщиком.
Для корректной работы с кассовой ссылкой рекомендуется поддержать API протокол кассовой ссылки.
На схеме ниже представлен сценарий работы с кассовой ссылкой СБП.
B случае если прием платежей планируется на сайте или в мобильном приложении, рекомендуем использовать протокол платежной формы Райффайзенбанка.
Динамический QR-код или QRDynamic - вид QR-кода, который хорошо подходит для приема платежей в онлайне (мобильные приложения / сайт), а также в торговой точке.
Если ни одно из решений выше вам не подходит по какой-либо причине, можно рассмотреть использование прямого протокола формирования динамического QR-кода.
Для корректной работы с кассовой ссылкой рекомендуется поддержать API протокол динамического QR-кода.
На схеме ниже представлен сценарий формирования динамического QR-кода и последующего приема платежа с получением необходимой информации в систему мерчанта.
Вы можете предложить клиенту привязать оплату по СБП к программе лояльности или к аккаунту в вашем сервисе. Для этого потребуется сформировать QR-код и отобразить его клиенту, либо перенаправить его на специальную ссылку, которая есть в ответе на запрос генерации QR-кода на подписку.
После по уникальному идентификатору подписки вы можете обращаться за безакцептным списанием средств с клиента за ваши товары и услуги.
Также есть схема, когда одним запросом создается QR-код на получение оплаты и заведение подписки.
В данном случае клиент проводит оплату, после чего ему отображается окно с предложением подключения подписки.
Клиент может провести оплату, но отказаться от подписки. Также клиент может провести оплату из приложения банка, который не подключен к сервису подписок.
Механизм подписок также поддерживает регулярные автоматические списания, которые банк проводит в указанную дату в 10:00 или 13:00 по московскому времени. На данный момент поддерживаются только ежемесячные списания. При неуспешной оплате в 10:00 производится еще одна попытка в 13:00 того же дня, при повторной ошибке будет еще по две попытки в последующие дни в то же время. Неуспешность платежа не ведет к отмене подписки.
Автоматические списания возможны как для оплаты с последующей подпиской, так и для подписки без оплаты в этот момент. Для автоматических платежей необходимо передать дополнительные параметры списания в методе [Регистрация QR-кода] или [Создание QR для подписки].
Уведомления о платежах можно получать в виде callback-уведомлений. Деактивировать подписку можно с помощью метода [Отмена подписки].
Список готовых решений вы можете посмотреть по ссылке.
Bзаимодействие осуществляется по протоколу HTTP с использованием методов POST GET PUT DELETE.
API всегда возвращает ответ в формате JSON, независимо от типа запроса.
Запросы, связанные с получением данных по платежу и управлением платежами, авторизуются посредством секретного ключа API secretKey. Параметр авторизации указывается в заголовке Authorization, значение которого формируется как Bearer secretKey.
Для получения тестовых данных для интеграции необходимо заполнить анкету на pay.raif.ru.
Посмотреть боевой publicId и сгенерировать secretKey можно в Онлайн Банке, либо Личном Кабинете.
Инстуркции по формированию secretKey можно посмотреть в Справочном Центре:
Секретный ключ необходимо хранить в доверенной среде, так как по нему возможно проведение возвратов.
Мы рекомендуем создавать одного мерчанта на ЮЛ и, соответственно, все его торговые точки. Это избавит от необходимости:
При работе в мобильной версии сайта или приложении мы рекомендуем использовать платежную форму Райффайзенбанка.
Если планируете использовать свою форму, то необходимо реализовать виджет выбора банка.
Для реализации виджета, необходимо использовать [API Виджета СБП].
Или вы можете воспользоваться нашими SDK:
Для полного цикла тестирования Райффайзенбанк предоставляет возможность использования демо-приложения для оплаты QR-кода от имени покупателя: WEB-приложение для оплаты по QR-коду
Приложение можно открыть в браузере любого устройства, имеющего камеру. После открытия приложения необходимо нажать на кнопку "Сканировать QR" (при необходимости разрешить браузеру доступ к камере) и отсканировать изображение тестового QR-кода.
Приложения банков не будут работать для оплаты QR-кодов в тестовой среде
Для реализации взаимодействия с партнёром Райффайзенбанк предоставляет API из следующих запросов:
Метод позволяет сформировать статические QR-коды, динамические QR-коды и кассовую ссылку СБП (QRVariable) для каждой кассы. Также с помощью данного метода вы можете сформировать динамический QR-код для оплаты с подпиской.
При каждом новом запросе будет возвращаться новый QR.
Тестовые QR можно оплатить только с помощью тестового приложения.
| qrType required | string
|
| account | number <= 20 Счет для зачисления. Параметр используется, если необходимо разносить платежи на разные счета |
| additionalInfo | string (AdditionalInfo) <= 140 characters ^(?=.*\S)[A-Za-zА-Яа-яЁё0-9 !"#$%''()*+,\-./:... Дополнительная информация. |
| amount required | number > 0 Сумма в рублях. Для копеек доступно два знака после точки. |
| currency | string = 3 characters Value: "RUB" Валюта платежа. Если не заполнено, то автоматически указывается значение |
| order required | string (OrderId) ^[A-Za-z0-9-_.]+$ Идентификатор заказа. Рекомендуем использовать длинный формат без возможности перебора, например, использовать формат UUID v4 |
| paymentDetails | string (PaymentDetails) ^(?=.*\S)[A-Za-zА-Яа-яЁё0-9 !"#$%''()*+,\-./:... Назначение платежа. Отображается в выписке. Может содержать:
|
| qrExpirationDate | string <date-time> (ExpirationDate) Срок действия |
| sbpMerchantId required | string <= 12 characters Идентификатор зарегистрированного партнёра в СБП |
| redirectUrl | string (RedirectUrl) ^[A-Za-z][A-Za-z0-9]*://\S+$ Ссылка, по котрой плательщик будет перенаправлен из приложения Банка в приложение или на сайт мерчанта в случае успешной оплаты по СБП
|
| qrDescription | string <= 32 characters Описание QR-кода |
object (Subscription) Данные для оформления подписки. Результат подписки зависит от плательщика. | |
object (Extra) Дополнительные поля для свободного заполнения по принципу key-value |
{- "account": 40700000000000000000,
- "additionalInfo": "Доп. информация",
- "amount": 1110.11,
- "currency": "RUB",
- "order": "1-22-333",
- "paymentDetails": "Назначение платежа",
- "qrType": "QRDynamic",
- "extra": {
- "extraParam": "Example extra param"
}, - "qrExpirationDate": "2023-07-22T09:14:38+03:00",
- "sbpMerchantId": "MA0000000552",
- "qrDescription": "QR для оплаты заказа"
}{- "qrId": "AD100004BAL7227F9BNP6KNE007J9B3K",
- "qrStatus": "NEW",
}Метод позволяет получить данные по зарегистрированному ранее QR-коду
| qrId required | string Идентификатор QR кода |
{- "qrId": "AD100004BAL7227F9BNP6KNE007J9B3K",
- "qrStatus": "NEW",
}Метод позволяет получить информацию по платежу по QR-коду. Метод не используется для QRVariable.
| qrId required | string Идентификатор QR кода |
{- "additionalInfo": "Доп. информация",
- "paymentPurpose": "Назначение платежа",
- "amount": 1110.11,
- "code": "SUCCESS",
- "createDate": "2020-01-31T09:14:38.107227+03:00",
- "currency": "RUB",
- "order": "282a60f8-dd75-4286-bde0-af321dd081b3",
- "paymentStatus": "SUCCESS",
- "qrId": "AD100051KNSNR64I98CRUJUASC9M72QT",
- "sbpMerchantId": "MA0000000552",
- "transactionDate": "2019-07-11T17:45:13.109227+03:00",
- "transactionId": 23,
- "qrExpirationDate": "2020-01-15T13:00:40+03:00",
- "extra": {
- "extraParam": "Example extra param"
}
}Метод позволяет выполнить возврат по заказу.
Метод также позволяет провести возврат плательщику в другой банк. Поддерживаются как полный, так и частичный возвраты.
| orderId required | string Идентификатор заказа |
| refundId required | string Уникальный идентификатор запроса за возврат |
| amount required | number Сумма в рублях. Для копеек доступно два знака после точки. |
| paymentDetails | string (PaymentDetails) ^(?=.*\S)[A-Za-zА-Яа-яЁё0-9 !"#$%''()*+,\-./:... Назначение платежа. Отображается в выписке. Может содержать:
|
object Данные плательщика. Необходимо заполнять, если требуется выполнить возврат в другой банк. |
{- "amount": 10,
- "paymentDetails": "Назначение платежа"
}{- "amount": 22,
- "status": {
- "value": "IN_PROGRESS",
- "date": "2024-07-09T15:00:00+03:00"
}
}Метод позволяет получить статус по возврату.
| orderId required | string Идентификатор заказа |
| refundId required | string Уникальный идентификатор запроса за возврат |
{- "amount": 22,
- "status": {
- "value": "IN_PROGRESS",
- "date": "2024-07-09T15:00:00+03:00"
}
}Метод позволяет осуществлять полный и частичный возврат по QRStatic.
| amount required | number > 0 Сумма в рублях. Для копеек доступно два знака после точки.Сумма возврата в рублях |
| order required | string (OrderId) ^[A-Za-z0-9-_.]+$ Идентификатор заказа. Рекомендуем использовать длинный формат без возможности перебора, например, использовать формат UUID v4 |
| paymentDetails | string (PaymentDetails) ^(?=.*\S)[A-Za-zА-Яа-яЁё0-9 !"#$%''()*+,\-./:... Назначение платежа. Отображается в выписке. Может содержать:
|
| refundId required | string [ 1 .. 40 ] characters ^[A-Za-z0-9-_.]+$ Уникальный идентификатор запроса на возврат |
| transactionId | number Идентификатор операции платежа в Райффайзенбанке. Параметр обязателен для возвратов по |
{- "amount": 150,
- "order": "test_order_007",
- "paymentDetails": "Test",
- "refundId": "test_refundId_007",
- "transactionId": 41
}{- "code": "SUCCESS",
- "amount": 150,
- "refundStatus": "IN_PROGRESS"
}Для реализации взаимодействия с кассовой ссылкой СБП (QRVariable) Райффайзенбанк предоставляет API из следующих запросов:
Данный тип QR позволяет сгенерировать статическое изображение QR под каждую кассу и далее под каждую продажу создавать заказ с указанием qrId этой кассы.
Схема взаимодействия приведена выше.
Метод позволяет привязать драфт кассовой ссылки к мерчанту. Метод также позволяет перепривязать кассовую ссылку между мерчантами, либо изменить параметры QR-кода у текущего мерчанта. Перед перепривязкой QR-кода, необходима настройка со стороны Банка, для настройки необходимо написать на ecom@raiffeisen.ru с указанием мерчантов, между которыми будет осуществляться перепривязка QR-кодов.
| qrId required | string Идентификатор QR кода |
| account | string Счет для зачисления |
| redirectUrl | string (RedirectUrl) ^[A-Za-z][A-Za-z0-9]*://\S+$ Ссылка, по котрой плательщик будет перенаправлен из приложения Банка в приложение или на сайт мерчанта в случае успешной оплаты по СБП
|
| qrDescription | string <= 32 characters Описание QR-кода |
{- "account": "40700000000000000000",
- "redirectUrl": "string",
- "qrDescription": "QR на главной кассе"
}{- "qrId": "AS5D904CACD4416B92CFA4B781CB1157",
- "qrStatus": "INACTIVE",
}Метод позволяет создать новый заказ без возможности его редактирования. Для связки заказа с QR-кодом (с типом QRVariable) необходимо также передать блок с данными о QR в теле запроса. Необходимо передать тот идентификатор QR-кода, который был получен в ответе на запрос регистрации QR-кода.
| id | string [ 1 .. 40 ] characters ^[A-Za-z0-9-_.]+$ Уникальный идентификатор заказа. Рекомендуется использовать формат, не допускающий возможность перебора, например, UUID v4 |
| amount | number > 0 Сумма в рублях. Для копеек доступно два знака после точки. |
| comment | string (OrderComment) <= 140 characters ^(?=.*\S)[A-Za-zА-Яа-яЁё0-9 !"#$%''()*+,\-./:... Комментарий. Доступен в реестрах и Онлайн-Банке. Не может быть пустым или содержать только пробелы. Может содержать: |
object (Extra) Дополнительные поля для свободного заполнения по принципу key-value | |
| expirationDate | string <date-time> (ExpirationDate) Срок действия |
object Блок с данными QR-кода |
{- "id": "c5b3fd07-c66b-4f11-a8a2-1cc5d319f9e3",
- "amount": 1000.1,
- "comment": "Шоколадный торт",
- "extra": {
- "extraParam": "Example extra param"
}, - "expirationDate": "2023-01-24T11:14:38+03:00",
- "qr": {
- "id": "AD100004BAL7227F9BNP6KNE007J9B3K",
- "additionalInfo": "Доп. информация",
- "paymentDetails": "Назначение платежа"
}
}{- "id": "c5b3fd07-c66b-4f11-a8a2-1cc5d319f9e3",
- "amount": 1000.1,
- "comment": "Шоколадный торт",
- "extra": {
- "extraParam": "Example extra param"
}, - "status": {
- "value": "NEW",
- "date": "2021-12-24T11:15:22.000Z"
}, - "expirationDate": "2022-01-24T11:15:22.000Z",
- "qr": {
- "id": "AD100004BAL7227F9BNP6KNE007J9B3K",
- "additionalInfo": "Доп. информация",
- "paymentDetails": "Назначение платежа"
}
}Метод позволяет получить статус заказа по его номеру. Опрос статуса заказа рекомендуется проводить раз в 2 секунды. При работе в штатном режиме заказ переводится в статус оплаченного в течение 15 секунд с момента оплаты.
| orderId required | string Идентификатор заказа |
{- "id": "c5b3fd07-c66b-4f11-a8a2-1cc5d319f9e3",
- "amount": 1000.1,
- "comment": "Шоколадный торт",
- "extra": {
- "extraParam": "Example extra param"
}, - "status": {
- "value": "NEW",
- "date": "2021-12-24T11:15:22.000Z"
}, - "expirationDate": "2022-01-24T11:15:22.000Z",
- "qr": {
- "id": "AD100004BAL7227F9BNP6KNE007J9B3K",
- "additionalInfo": "Доп. информация",
- "paymentDetails": "Назначение платежа"
}
}Данный метод позволяет отменить заказ, если он не был оплачен. После отмены заказ будет недоступен для оплаты.
| orderId required | string Идентификатор заказа |
{- "code": "ERROR.INVALID_REQUEST",
- "message": "Недопустимый идентификатор заказа"
}Метод позволяет выполнить возврат по заказу.
Метод также позволяет провести возврат плательщику в другой банк. Поддерживаются как полный, так и частичный возвраты.
| orderId required | string Идентификатор заказа |
| refundId required | string Уникальный идентификатор запроса за возврат |
| amount required | number Сумма в рублях. Для копеек доступно два знака после точки. |
| paymentDetails | string (PaymentDetails) ^(?=.*\S)[A-Za-zА-Яа-яЁё0-9 !"#$%''()*+,\-./:... Назначение платежа. Отображается в выписке. Может содержать:
|
object Данные плательщика. Необходимо заполнять, если требуется выполнить возврат в другой банк. |
{- "amount": 10,
- "paymentDetails": "Назначение платежа"
}{- "amount": 22,
- "status": {
- "value": "IN_PROGRESS",
- "date": "2024-07-09T15:00:00+03:00"
}
}Метод позволяет получить статус по возврату.
| orderId required | string Идентификатор заказа |
| refundId required | string Уникальный идентификатор запроса за возврат |
{- "amount": 22,
- "status": {
- "value": "IN_PROGRESS",
- "date": "2024-07-09T15:00:00+03:00"
}
}Для включения подписок необходима дополнительная настройка. Для этого заполните заявку в Онлайн-банке.
Посмотреть клиентский путь можно с помощью нашей Демо страницы подписок
Для реализации возможны два сценария:
Для размещения виджета у себя на сайте необходимо:
| Параметр | Описание | Значение |
|---|---|---|
| src* | URL-адрес встраиваемой страницы | Описано ниже |
| width* | Ширина виджета Может быть задана клиентом, но максимальный размер не должен превышать 728 пикселей |
от 280 до 728 пикселей |
| height* | Высота виджета Фиксированное значение |
280 пикселей |
| style* | Стиль для корректного отображения рамки виджета | "border: 0; border-radius: 16px" |
| allowtransparency* | Прозрачный фон виджета | true |
| scrolling* | Полосы прокрутки. Не используются | no |
| frameborder* | Рамка с эффектом трехмерности. Не отображается | 0 |
| Параметр | Описание | Значение |
|---|---|---|
| HOST* | Хост | * https://pay.raif.ru (продовый хост) * https://pay-test.raif.ru (тестовый хост) |
| publicId* | Идентификатор, который используется для открытия платежной формы и не является конфиденциальным | |
| subscriptionPurpose* | Цель подписки (отображается на виджете) | |
| logo | Ссылка на логотип клиента (отображается на виджете) | |
| widgetType* | Тип виджета | * CHARITY (благотворительность) * PAYMENT (оплата) |
| buttonColor* | Цвет кнопки | Передавать в формате hex без символа # Например, цвет #774098 нужно передать как buttonColor=774098 |
| textButtonColor* | Цвет текста внутри кнопки | Передавать в формате hex без символа # |
| offer | Ссылка на оферту клиента Если параметр не передан, то в виджете отобразится только ссылка на условия платежа и подключения подписки |
* Параметр не передан, отобразится текст: "Оплачивая, вы соглашаетесь с условиями" * Параметр передан, отобразится текст: "Оплачивая, вы соглашаетесь с условиями и офертой" |
Пример iframe для виджета на тестовой среде:
<iframe src="https://pay-test.raif.ru/widgets/?publicId=000001780049001-80049001&subscriptionPurpose=%D0%91%D0%BB%D0%B0%D0%B3%D0%BE%D1%82%D0%B2%D0%BE%D1%80%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5%20%D0%BF%D0%BE%D0%B6%D0%B5%D1%80%D1%82%D0%B2%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&logo=https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTqiwtWhVXbOj0gImTuuRHXuDre7gr-MEdQOpsJU9pNy2TRhYDyIuqkPIzZ_0RSyDE2G-M&usqp=CAU&widgetType=CHARITY&buttonColor=774098&textButtonColor=FFFFFF&offer=https://bfkh.ru/oferta_bfkh.pdf" width="630" height="280" style="border: 0; border-radius: 16px" allowtransparency="true" scrolling="no" frameborder="0"></iframe>
Подставьте в iframe продовый хост, также укажите данные своей компании в параметрах URL-адреса встраиваемой страницы и интегрируйте к себе на сайт.
Метод позволяет зарегистрировать QR для последующей привязки счета клиента в выбранном банке. Для мобильного интерфейса используется диплинк, который возвращается в payload. Создание подписки выполняется без авторизации, что позволяет использовать метод на сайте и в мобильном приложении
| id | string <= 40 characters ^[A-Za-z0-9-_.]+$ Идентификатор подписки на стороне партнера. Рекомендуем использовать длинный формат без возможности перебора, например, использовать формат UUID v4 |
| subscriptionPurpose required | string <= 140 characters ^[A-Za-zА-Яа-я0-9 ()!@\[\]#+=_\|.,-]+$ Описание подписки
|
| sbpMerchantId required | string <= 12 characters Идентификатор зарегистрированного партнёра в СБП |
| redirectUrl | string (RedirectUrl) ^[A-Za-z][A-Za-z0-9]*://\S+$ Ссылка, по котрой плательщик будет перенаправлен из приложения Банка в приложение или на сайт мерчанта в случае успешной оплаты по СБП
|
object (SubscriptionAutoCharge) Данные автоматического списания по подписке. Объект передается, если по подписке необходимо взимать деньги на регуряной основе. Используется как альтернатива методу списания по запросу | |
object (Extra) Дополнительные поля для свободного заполнения по принципу key-value |
{- "id": "120059",
- "subscriptionPurpose": "Подписка на услуги",
- "sbpMerchantId": "MA0000000552"
}{- "id": "120059",
- "createDate": "2020-01-31T09:14:38.107227+03:00",
- "status": "INACTIVE",
- "qr": {
- "id": "AD100004BAL7227F9BNP6KNE007J9B3K",
}
}Метод позволяет получить данные по ранее созданной подписке
| subscriptionId required | string Идентификатор подписки |
{- "id": "120059",
- "createDate": "2020-01-31T09:14:38.107227+03:00",
- "status": "INACTIVE",
- "qr": {
- "id": "AD100004BAL7227F9BNP6KNE007J9B3K",
}
}Метод позволяет отменить подписку. Если подписка включает регулярные автоматические списания, то они также будут отменены.
| subscriptionId required | string Идентификатор подписки |
{- "code": "ERROR.INVALID_REQUEST",
- "message": "Недопустимый идентификатор заказа"
}Метод позволяет создать заказ и инициировать списание со счета клиента в рамках созданной подписки. Метод предназначен для списания средств по подписке, у которой не настроено автоматическое списание autoCharge. При успешном списании будет направлено стандартное уведомление об оплате.
Для возврата средств по подписке используется метод [Оформление возврата по платежу].
| subscriptionId required | string Идентификатор подписки |
| account | number Счет для зачисления. Параметр используется, если необходимо разносить платежи на разные счета. Не используется в тестовой среде |
| additionalInfo required | string (AdditionalInfo) <= 140 characters ^(?=.*\S)[A-Za-zА-Яа-яЁё0-9 !"#$%''()*+,\-./:... Дополнительная информация. |
| amount required | number Сумма в рублях. Для копеек доступно два знака после точки. |
| currency required | string Value: "RUB" Валюта платежа. |
| order | string <= 40 characters ^[A-Za-z0-9-_.]+$ Уникальный идентификатор заказа в системе партнёра. Рекомендуем использовать длинный формат без возможности перебора, например, использовать формат UUID v4 |
| paymentDetails | string (PaymentDetails) ^(?=.*\S)[A-Za-zА-Яа-яЁё0-9 !"#$%''()*+,\-./:... Назначение платежа. Отображается в выписке. Может содержать:
|
Array of objects (Splits) Блок данных для работы со сплитованием |
{- "account": 40700000000000000000,
- "additionalInfo": "Доп. информация",
- "amount": 1110,
- "currency": "RUB",
- "order": "1-22-333",
- "paymentDetails": "Назначение платежа"
}{- "additionalInfo": "Доп. информация",
- "paymentDetails": "Назначение платежа",
- "amount": 1110,
- "currency": "RUB",
- "order": "282a60f8-dd75-4286-bde0-af321dd081b3",
- "paymentStatus": "IN_PROGRESS",
- "qrId": "AD100051KNSNR64I98CRUJUASC9M72QT",
- "sbpMerchantId": "MA0000000552",
- "splits": [
- {
- "accountId": "ea6f870f-debd-48cc-a83f-b87e7cee8582",
- "amount": 10.23
}, - {
- "accountId": "484afd1e-eefa-4a98-881d-af166860f06c",
- "amount": 1009.77
}
]
}Метод позволяет получить данные по платежу, сделанному по подписке
| subscriptionId required | string Идентификатор подписки |
| orderId required | string Идентификатор заказа |
{- "additionalInfo": "Доп. информация",
- "paymentDetails": "Назначение платежа",
- "amount": 1110,
- "currency": "RUB",
- "order": "282a60f8-dd75-4286-bde0-af321dd081b3",
- "paymentStatus": "IN_PROGRESS",
- "qrId": "AD100051KNSNR64I98CRUJUASC9M72QT",
- "sbpMerchantId": "MA0000000552",
- "splits": [
- {
- "accountId": "ea6f870f-debd-48cc-a83f-b87e7cee8582",
- "amount": 10.23
}, - {
- "accountId": "484afd1e-eefa-4a98-881d-af166860f06c",
- "amount": 1009.77
}
]
}Разделение платежа существенно облегчает взаиморасчеты с контрагентами, так как позволяет мерчанту передавать данные для распеределения денежных средств при создании заказа.
Для управления счетами необходимо обратиться в тех. поддержку банка ecom@raiffeisen.ru.
Сценарий позволяет создавать и изменять заказы по кассовым ссылкам, регистрировать динамические QR коды с распределением денежных средств на счета контрагентов.
Денежные средства распределяются на счета контрагентов на следующий день после совершения платежа. Всю сумму платежа можно зачислить как на один счет контрагента, так и на несколько счетов.
Метод позволяет создать заказ с привязкой к существующему кассовой ссылке QRVariable или с созданием нового динамического QR-кода QRDynamic.
Также с помощью данного метода вы можете сгенерировать QR код для оплаты с подпиской.
| publicId required | string Идентификатор мерчанта |
| id | string [ 1 .. 40 ] characters ^[A-Za-z0-9-_.]+$ Уникальный идентификатор заказа. Рекомендуется использовать формат, не допускающий возможность перебора, например, UUID v4 |
| amount required | number <float> > 0 Сумма заказа |
| comment | string (OrderComment) <= 140 characters ^(?=.*\S)[A-Za-zА-Яа-яЁё0-9 !"#$%''()*+,\-./:... Комментарий. Доступен в реестрах и Онлайн-Банке. Не может быть пустым или содержать только пробелы. Может содержать: |
object (Extra) Дополнительные поля для свободного заполнения по принципу key-value | |
| expirationDate | string <date-time> (ExpirationDate) Срок действия |
Array of objects (Splits) Блок данных для работы со сплитованием | |
CreateOrderQrVariableRequest (object) or CreateOrderQrDynamicRequest (object) |
{- "id": "5d5d52a0-2c7a-4a41-9d9c-c0f91f5ce266",
- "amount": 432.19,
- "comment": "Комментарий к заказу",
- "extra": {
- "property1": "string",
- "property2": "string"
}, - "expirationDate": "2025-05-01T16:34:09+03:00",
- "splits": [
- {
- "accountId": "ea6f870f-debd-48cc-a83f-b87e7cee8582",
- "amount": 100
}, - {
- "accountId": "401a1971-f073-4b5b-9add-6044006f38b1",
- "amount": 332.19
}
], - "qr": {
- "account": "40702810500000000045",
- "paymentDetails": "Благотворительное пожертвование",
- "type": "QRDynamic",
- "description": "QR для оплаты заказа"
}
}{- "id": "string",
- "amount": 432.19,
- "comment": "Тестовый комментарий",
- "extra": {
- "property1": "string",
- "property2": "string"
}, - "status": {
- "value": "NEW",
- "date": "2025-01-10T20:10:00+03:00"
}, - "expirationDate": "2019-08-24T14:15:22Z",
- "qr": {
- "id": "AD100004BAL7227F9BNP6KNE007J9B3K",
- "account": "40702810500000000045",
- "paymentDetails": "string",
- "type": "QRDynamic",
- "redirectUrl": "string",
- "description": "QR для главной страницы",
- "subscription": {
- "id": "string",
- "subscriptionPurpose": "string",
- "autoCharge": {
- "frequency": "MONTHLY",
- "firstChargeDate": "2024-01-25",
- "amount": 103.32
}, - "extra": { },
- "bank": "string",
- "status": "INACTIVE",
- "createDate": "string"
},
}, - "splits": [
- {
- "accountId": "ea6f870f-debd-48cc-a83f-b87e7cee8582",
- "amount": 10.23
}
]
}Метод позволяет создать или изменить заказ.
| publicId required | string Идентификатор мерчанта |
| orderId required | string Идентификатор заказа |
| amount required | number <float> Сумма заказа |
| comment | string (OrderComment) <= 140 characters ^(?=.*\S)[A-Za-zА-Яа-яЁё0-9 !"#$%''()*+,\-./:... Комментарий. Доступен в реестрах и Онлайн-Банке. Не может быть пустым или содержать только пробелы. Может содержать: |
object (Extra) Дополнительные поля для свободного заполнения по принципу key-value | |
| expirationDate | string <date-time> (ExpirationDate) Срок действия |
Array of objects (Splits) Блок данных для работы со сплитованием | |
CreateOrderQrVariableRequest (object) or CreateOrderQrDynamicRequest (object) |
{- "amount": 432.19,
- "comment": "Комментарий к заказу",
- "extra": {
- "property1": "string",
- "property2": "string"
}, - "expirationDate": "2025-05-01T16:34:09+03:00",
- "splits": [
- {
- "accountId": "ea6f870f-debd-48cc-a83f-b87e7cee8582",
- "amount": 100
}, - {
- "accountId": "401a1971-f073-4b5b-9add-6044006f38b1",
- "amount": 332.19
}
], - "qr": {
- "account": "40702810500000000045",
- "paymentDetails": "Благотворительное пожертвование",
- "type": "QRDynamic",
- "description": "QR для оплаты заказа"
}
}{- "id": "string",
- "amount": 432.19,
- "comment": "Тестовый комментарий",
- "extra": {
- "property1": "string",
- "property2": "string"
}, - "status": {
- "value": "NEW",
- "date": "2025-01-10T20:10:00+03:00"
}, - "expirationDate": "2019-08-24T14:15:22Z",
- "qr": {
- "id": "AD100004BAL7227F9BNP6KNE007J9B3K",
- "account": "40702810500000000045",
- "paymentDetails": "string",
- "type": "QRDynamic",
- "redirectUrl": "string",
- "description": "QR для главной страницы",
- "subscription": {
- "id": "string",
- "subscriptionPurpose": "string",
- "autoCharge": {
- "frequency": "MONTHLY",
- "firstChargeDate": "2024-01-25",
- "amount": 103.32
}, - "extra": { },
- "bank": "string",
- "status": "INACTIVE",
- "createDate": "string"
},
}, - "splits": [
- {
- "accountId": "ea6f870f-debd-48cc-a83f-b87e7cee8582",
- "amount": 10.23
}
]
}Метод позволяет получить статус заказа по его номеру. Опрос статуса заказа рекомендуется проводить раз в 2 секунды. При работе в штатном режиме заказ переводится в статус оплаченного в течение 15 секунд с момента оплаты.
| publicId required | string Идентификатор мерчанта |
| orderId required | string Идентификатор заказа |
{- "id": "string",
- "amount": 432.19,
- "comment": "Тестовый комментарий",
- "extra": {
- "property1": "string",
- "property2": "string"
}, - "status": {
- "value": "NEW",
- "date": "2025-01-10T20:10:00+03:00"
}, - "expirationDate": "2019-08-24T14:15:22Z",
- "qr": {
- "id": "AD100004BAL7227F9BNP6KNE007J9B3K",
- "account": "40702810500000000045",
- "paymentDetails": "string",
- "type": "QRDynamic",
- "redirectUrl": "string",
- "description": "QR для главной страницы",
- "subscription": {
- "id": "string",
- "subscriptionPurpose": "string",
- "autoCharge": {
- "frequency": "MONTHLY",
- "firstChargeDate": "2024-01-25",
- "amount": 103.32
}, - "extra": { },
- "bank": "string",
- "status": "INACTIVE",
- "createDate": "string"
},
}, - "splits": [
- {
- "accountId": "ea6f870f-debd-48cc-a83f-b87e7cee8582",
- "amount": 10.23
}
]
}Данный метод позволяет отменить заказ, если он не был оплачен. После отмены заказ будет недоступен для оплаты.
| publicId required | string Идентификатор мерчанта |
| orderId required | string Идентификатор заказа |
{- "code": "ERROR.INVALID_REQUEST",
- "message": "Недопустимый идентификатор заказа"
}Метод позволяет выполнить возврат по заказу. Метод также позволяет провести возврат плательщику в другой банк. Поддерживаются как полный, так и частичный возвраты.
| orderId required | string Идентификатор заказа |
| publicId required | string Идентификатор мерчанта |
| id | string <= 40 characters ^[A-Za-z0-9-_.]+$ Идентификатор возврата |
| amount required | number <float> Сумма возврата |
| paymentDetails | string (PaymentDetails) ^(?=.*\S)[A-Za-zА-Яа-яЁё0-9 !"#$%''()*+,\-./:... Назначение платежа. Отображается в выписке. Может содержать:
|
Array of objects (Splits) Блок данных для работы со сплитованием | |
object Объект передается, если требуется сделать возврат в другой банк или на другой номер |
{- "id": "348230ad-2a8d-4976-af4f-8603d11cba8c",
- "amount": 432.21,
- "paymentDetails": "Возврат за обувь",
- "splits": [
- {
- "accountId": "ea6f870f-debd-48cc-a83f-b87e7cee8582",
- "amount": 10.21
}, - {
- "accountId": "226f0738-d5d8-4ee6-afff-71e05836820a",
- "amount": 422
}
]
}{- "id": "348230ad-2a8d-4976-af4f-8603d11cba8c",
- "amount": 432.21,
- "paymentDetails": "string",
- "customer": {
- "bankAlias": "string",
- "phone": "string"
}, - "splits": [
- {
- "accountId": "ea6f870f-debd-48cc-a83f-b87e7cee8582",
- "amount": 10.23
}
], - "status": {
- "value": "IN_PROGRESS",
- "date": "2019-08-24T14:15:22Z",
- "declineReason": "TIMEOUT"
}
}Метод позволяет получить статус по возврату.
| publicId required | string Идентификатор мерчанта |
| orderId required | string Идентификатор заказа |
| refundId required | string Идентификатор возврата |
{- "id": "348230ad-2a8d-4976-af4f-8603d11cba8c",
- "amount": 432.21,
- "paymentDetails": "string",
- "customer": {
- "bankAlias": "string",
- "phone": "string"
}, - "splits": [
- {
- "accountId": "ea6f870f-debd-48cc-a83f-b87e7cee8582",
- "amount": 10.23
}
], - "status": {
- "value": "IN_PROGRESS",
- "date": "2019-08-24T14:15:22Z",
- "declineReason": "TIMEOUT"
}
}Для информирования ТСП о проведенных платежах, возвратах и изменениях статусов подписок могут использоваться HTTP-уведомления на адрес, указанный в его настройках.
Боевой адрес можно указать в личном кабинете во вкладке "Прием платежей".
Также адрес для тестовой и боевой среды можно указать с помощью метода в API.
Для партнёра уведомление представляет собой входящий POST-запрос, который использует JSON-структуру.
Уведомление считается принятым, если получатель ответил на запрос кодом HTTP 200.
Ответы с любыми другими HTTP-кодами будут считаться невалидными. Повторные попытки отправки будут проводиться в течение суток с нарастающим интервалом.
Для проверки подлинности уведомлений к данным добавляется подпись в заголовке x-api-signature-sha256, полученная на основе общего секретного ключа и контрольной строки, зашифрованной с помощью HMAC-SHA-256.
| Тип уведомления | Шаблон проверки |
|---|---|
Уведомление о платеже по QRStatic и QRDynamic |
amount|sbpMerchantId|order|paymentStatus|transactionDate |
| Уведомление об оплате заказа | amount|publicId|order|transaction.status.value|transaction.status.date |
| Уведомление о возврате | amount|publicId|refund.id|status.value|status.date. |
| Уведомление об изменении состояния подписки | public|id|status|date |
Уведомления отправляются с IP 193.28.44.23
Для проверки подлинности уведомления к данным добавляется подпись в заголовке, полученная на основе общего секретного ключа и контрольной строки с помощью HMAC-SHA-256.
| X-Api-Signature-SHA256 required | string Заполняется подписью, полученной алгоритмом HMAC-SHA-256 с использованием выбранного секретного ключа и контрольной строки |
| event | string Value: "payment" Тип сообщения |
object |
{- "event": "payment",
- "transaction": {
- "id": 120059,
- "orderId": "testOrder",
- "status": {
- "value": "SUCCESS",
- "date": "2019-07-11T17:45:13+03:00"
}, - "paymentMethod": "sbp",
- "paymentParams": {
- "qrId": "AD100051KNSNR64I98CRUJUASC9M72QT"
}, - "amount": 12500.5,
- "comment": "Покупка шоколадного торта",
- "extra": {
- "extraParam": "Example extra param"
}
}
}Для проверки подлинности уведомления к данным добавляется подпись в заголовке, полученная на основе общего секретного ключа и контрольной строки с помощью HMAC-SHA-256.
| X-Api-Signature-SHA256 required | string Заполняется подписью, полученной алгоритмом HMAC-SHA-256 с использованием выбранного секретного ключа и контрольной строки |
| transactionId | number Идентификатор операции платежа в Райффайзенбанке |
| qrId | string <= 32 characters Уникальный идентификатор QR-кода, выданный СБП при запросе генерации QR-кода |
| sbpMerchantId | string <= 12 characters Идентификатор зарегистрированного ТСП в СБП |
| merchantId | string Идентификатор ТСП в Райффайзенбанке |
| amount | number Сумма в рублях |
| currency | string <= 3 characters Валюта платежа |
| transactionDate | string <YYYY-MM-DD ТHH24:MM:SS±HH:MM> Дата и время проведения платежа |
| paymentStatus | string Статус проведения платежа |
| additionalInfo | string (AdditionalInfo) <= 140 characters ^(?=.*\S)[A-Za-zА-Яа-яЁё0-9 !"#$%''()*+,\-./:... Дополнительная информация. |
| order | string <= 40 characters Уникальный идентификатор заказа |
| createDate | string <YYYY-MM-DD ТHH24:MM:SS±HH:MM> Время формирования заявки |
object Дополнительные поля, переданные в запросе ранее |
{- "transactionId": 41,
- "qrId": "AS100032PQ7739G58NCQ457RA2OG82JP",
- "sbpMerchantId": "MA0000000279",
- "merchantId": "1780672001",
- "amount": 10,
- "currency": "RUB",
- "transactionDate": "2020-01-15T16:01:49.043924+03:00",
- "paymentStatus": "SUCCESS",
- "additionalInfo": "Дополнительная информация",
- "order": "testOrder",
- "createDate": "2020-01-15T13:00:40+03:00",
- "extra": {
- "extraParam": "Example extra param"
}
}Для проверки подлинности уведомления к данным добавляется подпись в заголовке, полученная на основе общего секретного ключа и контрольной строки с помощью HMAC-SHA-256.
| X-Api-Signature-SHA256 required | string Заполняется подписью, полученной алгоритмом HMAC-SHA-256 с использованием выбранного секретного ключа и контрольной строки |
object |
{- "refund": {
- "id": "1f8124ja91-1293f9a",
- "sbp": {
- "sbpTransactionId": "B7CF9F02B5224F34913FB5BB311CED39"
}, - "amount": 15005.5,
- "status": {
- "value": "COMPLETED",
- "date": "2024-07-08T14:50:59+03:00"
}, - "paymentParams": {
- "transactionId": 1345,
- "orderId": "48192e79-41ee-4bde-ac61-2ad08cbf9c03",
- "qrId": "ASE6478634D84E8CB8030FF4EDF7655F"
}
}
}Для проверки подлинности уведомления к данным добавляется подпись в заголовке, полученная на основе общего секретного ключа и контрольной строки с помощью HMAC-SHA-256.
| X-Api-Signature-SHA256 required | string Заполняется подписью, полученной алгоритмом HMAC-SHA-256 с использованием выбранного секретного ключа и контрольной строки |
| event | string Value: "SUBSCRIPTION" Тип сообщения |
object |
{- "event": "SUBSCRIPTION",
- "data": {
- "id": "c5b3fd06",
- "publicId": "MA0000000552",
- "bank": {
- "name": "Райффайзенбанк",
- "memberId": "100000000007"
}, - "status": {
- "value": "SUBSCRIBED",
- "date": "2024-08-06T14:50:59+03:00"
}, - "qr": {
- "id": "AD399130040A4FFAB09111CB6304BF8D"
}
}
}Для подписи уведомлений будет использоваться ключ из заголовка авторизации.
| callbackUrl required | string non-empty |
{
}{
}Для настройки отправки реестров на ежедневной, еженедельной или ежемесячной основе следуйте инструкциям по работе в Личном кабинете или Онлайн-Банке.
В случае отсутствия операций за день, реестр на следующий день не отправляется.
Формат реестра:
| Наименование колонки | Значение |
|---|---|
| Мерчант | Идентификатор в системе СБП |
| Дата операции МСК | Дата и время проведения операции (МСК) |
| Тип | Тип операции |
| id заказа | Id заказа в системе партнера (order) |
| id возврата | Id возврата в системе партнера (refundId) |
| Способ оплаты | Instant Payment QR |
| Данные оплаты | QR id |
| id клиента | Маскированный код плательщика |
| Сумма | Сумма транзакции |
| Комиссия | Комиссия по транзакции |
| id операции НСПК | Идентификатор операции в системе НСПК |
| Назначение платежа | Назначение платежа (paymentDetails) |
| Комментарий | Комментарий к заказу |
| Дополнительные поля | Дополнительная информация (пока не используется) |
| id проводки | Номер банковской проводки |
Потранзакционнцю выписку можно выгрузить в банк-клиенте в следующих форматах:
В назначении платежа есть системиный префикс: номер проводки, тип операции, идентификатор мерчанта НСПК.
В примерах выписки указаны стандартные назначение платежа. Вы можете его изменить, для этого необходимо при генерации QR-кода и возвратах передавать параметр paymentDetails с вашими данными, при этом ваше значение будет идти после системного префикса.
Для агрегированного зачисления:
Нарратив для агрегированной проводки можно изменить, обратившись на ecom@raiffeisen.ru. Максимальная длина изменяемого нарратива - 60 символов.
Методы позволяют получить список операций и итоговые суммы за определенный промежуток времени. Возможно использование методов для закрытия кассового периода.
Отчёт по транзакциям за указанный период.
Максимальная глубина запрашиваемых данных не более трёх дней.
Пример запроса:
GET https://pay.raif.ru/api/report/v1/transactions/summary?from=2026-01-15T00%3A00%3A00%2B03%3A00&to=2026-01-16T23%3A59%3A59%2B03%3A00
| from required | string <date-time> Example: from=2026-01-15T12:00:00+03:00 Дата и время начала выборки. |
| to required | string <date-time> Example: to=2026-01-15T15:00:00+03:00 Дата и время окончания выборки. |
| qrId | string Example: qrId=AD1F2CD7212E48FA919AB52EF0AEFB33 Идентификатор QR-кода. Если значение не передано - выгружаются все операции по мерчанту |
| operationTypes | string Enum: "Payment" "Refund" Тип операции. Если значение не передано - выгружаются все типы операций |
{- "sbp": {
- "payments": {
- "sum": 21,
- "count": 2
}, - "refunds": {
- "sum": 10,
- "count": 1
}, - "total": {
- "sum": 11,
- "count": 3
}
}, - "card": {
- "payments": {
- "sum": 23,
- "count": 2
}, - "refunds": {
- "sum": 11,
- "count": 1
}, - "total": {
- "sum": 12,
- "count": 3
}
}
}Получение детализированного отчёта по транзакциям за указанный период.
Максимальная глубина запрашиваемых данных не более трёх дней.
Пример запроса:
GET https://pay.raif.ru/api/report/v1/transactions?from=2026-01-15T00%3A00%3A00%2B03%3A00&to=2026-01-16T23%3A59%3A59%2B03%3A00
| from required | string <date-time> Example: from=2026-01-15T12:00:00+03:00 Дата и время начала выборки. |
| to required | string <date-time> Example: to=2026-01-15T15:00:00+03:00 Дата и время окончания выборки. |
| qrId | string Example: qrId=AD1F2CD7212E48FA919AB52EF0AEFB33 Идентификатор QR-кода. Если значение не передано - выгружаются все операции по мерчанту |
| operationTypes | string Enum: "Payment" "Refund" Тип операции. Если значение не передано - выгружаются все типы операций |
{- "sbp": {
- "payment": [
- {
- "orderId": "order-test",
- "amount": 77,
- "transactionDate": "2024-12-31T10:00:00+03:00",
- "paymentSystem": "Instant Payment QR",
- "paymentDetails": "Благотворительное пожертвование",
- "transactionId": 178657,
- "clientId": "007910******4567",
- "qrId": "AS1A007L7B8IPA1F8CBQ8RK2D27FHST9",
- "sbpTransactionId": "A23091339574920E000009529E6B66DF",
- "orderComment": "Комментарий",
- "fee": 0.31
}
], - "refund": [
- {
- "orderId": "order-test-1",
- "amount": 17,
- "transactionDate": "2024-12-31T10:00:00+03:00",
- "paymentSystem": "Instant Payment QR",
- "paymentDetails": "Возврат денежных средств",
- "transactionId": 178658,
- "clientId": "007910******4567",
- "qrId": "AS1A007L7B8IPA1F8CBQ8RK2D27FHST9",
- "sbpTransactionId": "B229701403532102000016268EEA632B",
- "refundId": "refund-1",
- "fee": 0
}
]
}, - "card": {
- "payment": [
- {
- "orderId": "order-test-2",
- "amount": 14,
- "transactionDate": "2024-12-31T10:50:00+03:00",
- "paymentSystem": "VISA",
- "paymentDetails": "Назначение платежа",
- "transactionId": 5252420,
- "clientId": "200043****823",
- "authCode": "259AA",
- "rrn": "935014591810",
- "orderComment": "Благотворительное пожертвование",
- "fee": 0.38
}
], - "refund": [
- {
- "orderId": "order-test-3",
- "amount": 13,
- "transactionDate": "2022-12-14T10:01:24.84+03:00",
- "paymentSystem": "VISA",
- "paymentDetails": "Назначение платежа",
- "transactionId": 5252440,
- "clientId": "200043****823",
- "authCode": "259AA",
- "rrn": "935014591810",
- "refundId": "refund-2",
- "fee": 0
}
]
}
}Если в процессе обработки любого запроса произойдет логическая ошибка, API вернет описание ошибки (message) и код сообщения (code).
Описание основных ошибок:
| code | message |
|---|---|
| ERROR.ACCOUNT_IS_NOT_REGISTERED | Указан неверный счет. Проверьте его или удалите. Параметр является необязательным |
| ERROR.INVALID_REQUEST | Не передан обязательный параметр |
| ERROR.QR_EXPIRATION_DATE_NOT_VALID | Неверная дата истечения QR-кода |
| ERROR.MERCHANT_NOT_REGISTERED | Партнер с ID * не зарегистрирован |
| ERROR.ORDER_NUMBER_ALREADY_REGISTERED | QR-код с номером заказа *, партнера * и успешными платежами уже зарегистрирован |
| ERROR.INVALID_REQUEST | Передана некорректная сумма платежа |
| ERROR.SBP_MERCHANT_ID_IS_MISSING | SbpMerchantId партнера не указан |
| ERROR.DYNAMIC_QR_WITHOUT_AMOUNT | Не передана сумма для динамического QR-кода |
| ERROR.INVALID_ORDER | В номере заказа поддерживаются A-z09_-. |
| ERROR.NOT_FOUND | QR-код не найден у данного партнера |
| ERROR.REFUND_INSUFFICIENT_FUNDS | Сумма возврата больше суммы остатка по платежу |
| ERROR.INVALID_REQUEST | Сумма возврата не может быть меньше 1 копейки |
| ERROR.REFUND_NOT_FOUND | Возврат с refundId * не найден |
| ERROR.ERROR_WRONG_QR_STATUS | Нельзя сменить статус QR-кода с * на * |
В таблице отражены важные изменения в методах API.
| Дата | Описание |
|---|---|
| 18.10.2024 | * Добавлен метод разделения платежа при создании qr или заказов на кассовую ссылку |
| 10.07.2024 | * Добавлены уведомления на операции возвратов |
| 18.04.2024 | * В методы сверок операций за период добавлен новый параметр - комиссия |
| 09.11.2023 | * Добавлен метод получения списка банков для возвратов * Добавлен новый метод возврата, позволяющий совершить возврат на другие реквизиты * Добавлен новый метод получения статуса возврата, который позволяет получить причину отклонения операции |
| 19.06.2023 | * Добавлена ссылка на SDK от НСПК , для реализации виджета выбора банка |
| 18.05.2023 | * В методы создания и привязки QR добавлен новый параметр qrDescription |
| 29.03.2023 | * Внесены ограничения по полям additionalInfo при создании заказов/qr и paymentDetails при возвратах |
| 14.12.2022 | * Добавлены методы для сверки операций по картам и СБП |
| 02.11.2022 | * Дополнен раздел "Подписки": добавлено описание методов работы |
| 24.08.2022 | * Дополнен раздел "Авторизация": добавлено описание подхода по созданию одного мерчанта на все торговые точки * Метод регистрации QR вынесен в отдельный блок "Создание и отмена QR-кода (все типы QR)" * Переименован раздел "Работа с QR-кодом" → "Статический и динамический QR-коды (QRStatic, QRDynamic)" * Переименован раздел "Кассовая ссылка СБП" → "Кассовая ссылка СБП (QRVariable)" * Добавлено описание статусов платежа в ответе на запрос статуса платежа по QR v1/qr/{qrId}/payment-info * Удалены пометки required из ответов на некоторые запросы * Корректировки по тексту |
| 29.07.2022 | * Изменены хосты: * Боевой с e-commerce.raiffeisen.ru на pay.raif.ru * Тестовый c test.ecom.raiffeisen.ru на pay-test.raif.ru |
| 27.07.2022 | * Добавлен параметр paymentDetails для возвратов по заказам по QRVariable |
| 30.05.2022 | * Добавлен параметр redirectUrl, который в случае успешной операции, позволяет передать ссылку для перенаправления клиента из приложения банка |
| 30.12.2021 | * Обновлены диаграммы последовательности UML в разделе "Общие схемы работы" |
| 02.12.2021 | * Добавлена диаграмма последовательности для работы с кассовой ссылкой СБП * API для регистрации QR-кода версии v1 помечен как устаревший * Добавлена новая версия v2 API для регистрации QR-кода * Добавлен новый тип QR-кода QRVariable для кассовой ссылки СБП * Добавлен новый API для создания заказов под QRVariable * Добавлены пример JSON и cURL-запросов * Дополнен справочник ошибок * Внесены общие правки |
| 09.09.2021 | * Исправлена длина параметра paymentDetails при операциях возвратах |
| 06.07.2021 | * Реализовали сервис подписок |
| 02.06.2021 | * Добавили новый метод отмены QR-кода * Появилась новая версия запроса на получения данных по QR-коду |