СБП
Общие сведения
Общие сведения
Интерфейс позволяет:
выполнять операции электронной коммерции по оплате товаров и услуг мерчанта со счетов плательщиков, подключенных к системе СБП,
выполнять операции B2С электронной коммерции по переводу средств со счета мерчанта на счета получателей, подключенные к системе СБП.
Статусы операций
Статус
Значение
Created
Операция зарегистрирована в шлюзе
Pending
Операция находится в обработке
Completed
Операция выполнена успешно
Failed
Операция отклонена
Expired
Операция невозможна, истёк срок платёжной ссылки
Авторизация
Для авторизации при каждом запросе необходимо передавать заголовки. Значения для этих заголовков выдаются с параметрами доступа.
Authorization-Key — платежный ключ;
Authorization-Password — платежный пароль
Дополнительные заголовки
Correlation-ID — значение из этого заголовка может быть использовано для поиска логов в случае каких-либо проблем.
Для передачи тела запросов необходимо использовать значение application/json для заголовка Content-Type.
Для тела ответа API может быть использовано одно из следующих значений заголовка Content-Type:
application/json — штатное выполнение операции;
application/problem+json — в случае каких-либо проблем.
Более подробную информацию о кодах ответов и моделях данных можно посмотреть в документации swagger среды Sandbox (см. Среды).
Порядок следования параметров в запросах не важен. Регистр символов в url‑адресах и параметрах запросов — важен.
Ответы API могут содержать поля, не указанные в документации. При обработке ответов такие поля должны игнорироваться клиентским кодом.
Среды
Документация swagger в среде Sandbox:
Swagger UI
Базовые адреса сред:
Sandbox — https://sandbox.payler.com/fpapi/v1
Production — https://secure.payler.com/fpapi/v1
Платежи СБП
Общие сведения
Интерфейс позволяет выполнять операции электронной коммерции по оплате товаров и услуг мерчанта со счетов плательщиков, подключенных к системе СБП.
Платежи через СБП доступны только для мерчантов, использующих для взаимодействия с Payler схему Merchant. На платежной странице Payler выбор оплаты через СБП недоступен.
Подробнее:
Оплата осуществляется только в российских рублях с использованием динамического QR-кода или ссылки. Оплата доступна для клиентов мерчантов на рынке РФ.
В рамках оплаты через СНГБ от клиента не требуется ввод каких-либо платежных данных или авторизация на платежной форме, оплата происходит с использованием мобильного приложения банка клиента, который подключен к СБП. При этом денежные средства со счета клиента на счет мерчанта поступают моментально.
Для подключения данного способа оплаты мерчанту требуется:
Обратиться к персональному менеджеру или в службу технической поддержки Payler.
Заполнить анкету-заявление для регистрации торговой точки в СНГБ и терминала в банке эквайере.
Общий сценарий приема оплаты через СБП:
Клиент выбрал товар или услугу на сайте мерчанта и переходит к оплате.
Мерчант отображает СБП среди прочих доступных методов оплаты.
В зависимости от реализации на стороне мерчанта, клиент выбирает один из вариантов оплаты через СБП:
Отсканировать QR-code;
Перейти в мобильное приложение банка.
Если выбрано «Отсканировать QR-code»:
Браузер направляет запрос в Payler, передавая параметры авторизации и оплаты;
Payler передает QR-code в браузер;
Браузер отображает QR-code;
Клиент сканирует полученный QR-code с экрана;
Клиент оплачивает покупку через мобильное приложение банка, перейдя по ссылке из QR-code.
Если выбрано «Перейти в мобильное приложение банка»:
Браузер отображает страницу с выбором банка;
Клиент оплачивает покупку через мобильное приложение банка, перейдя по ссылке из QR-code.
НСПК оповещает Payler о смене статуса операции.
Payler направляет асинхронное уведомление (callback) о смене статуса мерчанту. Мерчант имеет возможность отправить запрос для отправки callback для получения уведомления о результате выполнения платежа или о финальном статусе операции. Отмена платежа, выполненного через СБП невозможна, доступен только возврат платежа (операция Refund). Возврат возможен только при наличии необходимой суммы с учетом комиссии на счёте мерчанта.
Типы платежей
Тип
Значение
Payment
Платёж
Refund
Возврат платежа
Статусы платежей
Статус
Значение
Created
Платёж создан
Pending
Платёж находится в обработке
Completed
Платёж успешно завершен
CheckCompleted
Проверка выполнена
Failed
Платеж отклонён
Returned
Выполнен возврат платежа
Методы API
Получение QR-кода
Метод предназначен для получения QR-кода для оплаты.
URL: /payments/qrcs
Метод: POST
Запрос
Параметры запроса:
Название
Тип
R/O
Описание
orderId
A..100
R
Идентификатор оплачиваемого заказа в системе мерчанта. Для каждого платежа нужен свой уникальный идентификатор. Допускаются только печатные ASCII‑символы
amount
N
R
Сумма в минимальной денежной единице (копейки, центы и т. д.)
redirectUrl
A..1024
R
URL, куда перенаправляют пользователя после оплаты
includeImage
B
O
Показывает, требуется ли передать в ответе QR-код в виде картинки
ttlMinutes
N..129600
R
Срок действия платёжной ссылки в минутах. Допустимые значения — от 5 минут до 90 дней (129600 мин)
paymentRurpose
A
R
Назначение (описание) платежа
recurrentType
D
O
Тип рекуррентного платежа. Возможные значения: - Payment (привязка к счёту с оплатой) - Binding (привязка к счёту без оплаты)
recurrentPurpose
A
O*
Назначение (описание) рекуррентного платежа *обязателен, если указан recurrentType
Ответ
Параметры ответа:
Название
Тип
R/O
Описание
operationId
А
R
Идентификатор операции
paymentId
А
R
Идентификатор платежа
orderId
А
R
Идентификатор заказа в системе мерчанта
link
А
O
Url перенаправления для выполнения оплаты через мобильное приложение банка
image
А
O
QR-код в виде картинки
operationDate
А
O
Дата и время создания операции. Заполняется для успешной операции
amount
N
R
Сумма в минимальной денежной единице (копейки, центы и т. д.)
createdAt
А
R
Дата и время создания платежной ссылки
errorCode
А
O
Код ошибки. Присутствует если произошла ошибка при обработке запроса
errorMessage
А
O
Текст ошибки. Присутствует если произошла ошибка при обработке запроса
recurrentType
A
O
Тип рекуррентного платежа
recurrentPublicId
A
O
ID рекуррентного платежа
Пример:
{
"operationId": "fc95622b-8c59-4be6-96b5-cc02626c45b1",
"paymentId": "eb7c49b5-2780-4c51-b7a2-d325342bbb9d",
"orderId": "Тестовый платеж",
"link": "https://web.qr.nspk.ru/AD10006BIFH6TF2S99ERB6KVCQP77AVB?type=02&bank=100000000091&sum=10001122&cur=RUB&crc=668C",
"image": "iVBORw0KGgoAAAANSUhEUgAAAhIAAAISAQAAAACxRhsSAAADs0lEQVR4nO3aQW7jMAyFYQI5gI+Uq/tIPkAATSzykUo6xQzQMTOLX4s0teWvm1eBomzjx2M3DAwMDAwMDAwMjH9qWIzb8/txfoyH+ce+Pe/e56TnDbP566H5dwyMTiNnPa+c98759+VXy/+JE/c/o8cwMNqMI5/0mA8Z28P/CSLdWxh+DQPjY8YQVNdesu7XMDD+A+O8t1VR8TT2/IqB8Slj/vAq9lyEc+ldo39z94/1BwbGRUaMuf7+xUemHgOj0agRqZ/tAq26MX8u27N2eH0EA6PJUHxnbyuneolg6hkccden+GQMjE4jK4aldtjVklXnda0YltRjYLQZeUwQhwOR9RGr8zm2MWpDNr+5iYHRZdxHjYetR1fzyRn96sZu+VcxMDqNGd+h3VYEXvsuz7Uv0TpJqI4CBkaX4T2rXQn3UnavLtcQ6TH3BpcZBka38VIiDCW8egZqv6piqIGB0WWcwyvbaMSaf1Pga7s2so/wviZjYFxsRJrV26raYQy9LeDfdh12fc06BsbVxlIn7JX1LSZVu6Ci/03tgIFxoeErcXxY7srMYiU2zc+zglEDA6PLyEogNl9HPBiVrUZtzZaFGQOjy8iYy4gqQtfGy3atoo+B0WhEUTuqhfWw9ZpPVW/rrr+KgdFreMV6KPBvBwZZ/Ea/Kw8RMDA+YHjWc5beVolvNUVZf+uPYWBca8S+awa5XgusbdihN12GP36OLH4xMNqMkZFWrqs/sNa9+TLW/jXrGBjXGj5/V67NVM96l+sc8RqBJZRvtWBgNBmecNvyIx+qrFeNa1XtYmC0GkvtcF7W0ZVHOhOuf4ybamEMjEajRgVZ8215M8AfGsfvso6B0WKodrV4USAKCNW9dWCwpB4Do9GINXnTNmzftOXyu+eHaZ2ughgDo9fwjqpaWPXrUvLOhM/zgzzYwsBoNZTcR9QJe6Z+CIp1Ov8JzideawcMjKuNGfhcmNUpGKPq2Vqn1bB9zzoGxtXGmtw13H5jbWZl58veagcMjKsNy5OsaGb5vmv4MYGq3VyYU7tjYDQaNSLX/gJAzDL7+qTPGxgYjYbFuMWanOFWsRA92FiYdVaAgdFr3OcP33eNpYCIXG+v7a/M/x0Do9U4lOFcf/2Gj5ddma493rOOgdFmFBQtWYtwe0dLTa+4hoHxKWMmWYGvbqzvzyzu+sHWt1nHwLjEmD+06o6RLYS1WMgbKn4xMHoNU4ZrTV4aB1En6GPXPwEGRqvxo4GBgYGBgYGBgYHxz4xfvxeTzFGIRnMAAAAASUVORK5CYII=",
"operationDate": null,
"type": "Payment",
"status": "Created",
"amount": 10001122,
"createdAt": "2023-06-22T08:55:08.290251Z",
"errorCode": null,
"errorMessage": null
}Возврат платежа по QR-коду
Метод предназначен для возврата суммы платежа, выполненного по QR-коду.
URL: /payments/qrcs/{paymentId}/refunds
Метод: POST
Запрос
Параметры строки запроса:
Название
Тип
R/O
Описание
amount
A
O
Сумма в минимальной денежной единице (копейки, центы и т. д.), которую следует вернуть. Если не указана, выполняется возврат полной суммы платежа
purpose
A..140
O
Назначение платежа
Ответ
Параметры ответа
Название
Тип
R/O
Описание
status
А
R
Статус операции. Возможные значения: см. Статусы операций Если ответ содержит не финальный статус операции, а ”Pending”, рекомендуется выполнять запрос Получение данных о платеже до получения финального статуса (Completed или Failed)
operationId
А
R
Идентификатор операции
paymentId
А
R
Идентификатор платежа
Пример:
{
"status": "Completed",
"operationId": "1f69223e-dff1-448d-803e-56333e6749b6",
"paymentId": "1ace457b-9dec-46ec-897b-101382b745ee"
}Выполнение рекуррентного платежа
Метод предназначен для выполнения рекуррентного платежа.
URL: /payments/qrcs/recurrents/{recurrentPublicId}/payments
Метод: POST
Запрос
Параметры URL:
Название
Описание
recurrentPublicId
ID рекуррентного платежа.
Запрос
Параметры запроса:
Название
Тип
R/O
Описание
memberId
A
R
Идентификатор Банка Плательщика
amount
N
O
Сумма рекуррентного платежа в минимальной денежной единице (копейки, центы и т. д.)
Ответ
Параметры ответа:
Название
Тип
R/O
Описание
operationId
А
R
Идентификатор операции
paymentId
А
R
Идентификатор платежа
orderId
А
R
Идентификатор заказа в системе мерчанта
link
А
O
Url перенаправления для выполнения оплаты через мобильное приложение банка
image
А
O
QR-код в виде картинки
operationDate
А
O
Дата и время создания операции. Заполняется для успешной операции
amount
N
R
Сумма в минимальной денежной единице (копейки, центы и т. д.)
createdAt
А
R
Дата и время создания платежной ссылки
errorCode
А
O
Код ошибки. Присутствует если произошла ошибка при обработке запроса
errorMessage
А
O
Текст ошибки. Присутствует если произошла ошибка при обработке запроса
recurrentType
A
O
Тип рекуррентного платежа
recurrentPublicId
A
O
ID рекуррентного платежа
Пример:
{
"operationId": "fc95622b-8c59-4be6-96b5-cc02626c45b1",
"paymentId": "eb7c49b5-2780-4c51-b7a2-d325342bbb9d",
"orderId": "Тестовый платеж",
"link": "https://web.qr.nspk.ru/AD10006BIFH6TF2S99ERB6KVCQP77AVB?type=02&bank=100000000091&sum=10001122&cur=RUB&crc=668C",
"image": "iVBORw0KGgoAAAANSUhEUgAAAhIAAAISAQAAAACxRhsSAAADs0lEQVR4nO3aQW7jMAyFYQI5gI+Uq/tIPkAATSzykUo6xQzQMTOLX4s0teWvm1eBomzjx2M3DAwMDAwMDAwMjH9qWIzb8/txfoyH+ce+Pe/e56TnDbP566H5dwyMTiNnPa+c98759+VXy/+JE/c/o8cwMNqMI5/0mA8Z28P/CSLdWxh+DQPjY8YQVNdesu7XMDD+A+O8t1VR8TT2/IqB8Slj/vAq9lyEc+ldo39z94/1BwbGRUaMuf7+xUemHgOj0agRqZ/tAq26MX8u27N2eH0EA6PJUHxnbyuneolg6hkccden+GQMjE4jK4aldtjVklXnda0YltRjYLQZeUwQhwOR9RGr8zm2MWpDNr+5iYHRZdxHjYetR1fzyRn96sZu+VcxMDqNGd+h3VYEXvsuz7Uv0TpJqI4CBkaX4T2rXQn3UnavLtcQ6TH3BpcZBka38VIiDCW8egZqv6piqIGB0WWcwyvbaMSaf1Pga7s2so/wviZjYFxsRJrV26raYQy9LeDfdh12fc06BsbVxlIn7JX1LSZVu6Ci/03tgIFxoeErcXxY7srMYiU2zc+zglEDA6PLyEogNl9HPBiVrUZtzZaFGQOjy8iYy4gqQtfGy3atoo+B0WhEUTuqhfWw9ZpPVW/rrr+KgdFreMV6KPBvBwZZ/Ea/Kw8RMDA+YHjWc5beVolvNUVZf+uPYWBca8S+awa5XgusbdihN12GP36OLH4xMNqMkZFWrqs/sNa9+TLW/jXrGBjXGj5/V67NVM96l+sc8RqBJZRvtWBgNBmecNvyIx+qrFeNa1XtYmC0GkvtcF7W0ZVHOhOuf4ybamEMjEajRgVZ8215M8AfGsfvso6B0WKodrV4USAKCNW9dWCwpB4Do9GINXnTNmzftOXyu+eHaZ2ughgDo9fwjqpaWPXrUvLOhM/zgzzYwsBoNZTcR9QJe6Z+CIp1Ov8JzideawcMjKuNGfhcmNUpGKPq2Vqn1bB9zzoGxtXGmtw13H5jbWZl58veagcMjKsNy5OsaGb5vmv4MYGq3VyYU7tjYDQaNSLX/gJAzDL7+qTPGxgYjYbFuMWanOFWsRA92FiYdVaAgdFr3OcP33eNpYCIXG+v7a/M/x0Do9U4lOFcf/2Gj5ddma493rOOgdFmFBQtWYtwe0dLTa+4hoHxKWMmWYGvbqzvzyzu+sHWt1nHwLjEmD+06o6RLYS1WMgbKn4xMHoNU4ZrTV4aB1En6GPXPwEGRqvxo4GBgYGBgYGBgYHxz4xfvxeTzFGIRnMAAAAASUVORK5CYII=",
"operationDate": null,
"type": "Payment",
"status": "Created",
"amount": 10001122,
"createdAt": "2023-06-22T08:55:08.290251Z",
"errorCode": null,
"errorMessage": null
}Изменение рекуррентного платежа
Метод предназначен для изменения рекуррентного платежа.
URL: /payments/qrcs/recurrents/{recurrentPublicId}
Метод: PUT
Запрос
Параметры URL:
Название
Описание
recurrentPublicId
ID рекуррентного платежа.
Запрос
Параметры запроса:
Название
Тип
R/O
Описание
active
B
R
Активность рекуррентного платежа
Ответ
Параметры ответа:
Название
Тип
R/O
Описание
recurrentPublicId
А
R
ID рекуррентного платежа
isActive
B
R
Активность рекуррентного платежа
Пример:
{
"recurrentPublicId": "rec-pay-8043f4b1-06a3-4b46-ad40-3e2c1592beeb",
"isActive": true
}Получение данных о платеже
Метод предназначен для получения данных о платеже.
URL: /payments/qrcs/{paymentId}
Метод: GET
Запрос
Параметры URL:
Название
Описание
paymentId
Идентификатор платежа
Ответ
Параметры тела ответа:
Название
Тип
R/O
Описание
id
A
R
Идентификатор платежа
orderId
A
R
Идентификатор заказа в системе мерчанта
createdAt
A
R
Дата и время создания платежа
amount
N
R
Сумма операции в минимальной денежной единице (копейки, центы и т. д.)
operations
Ar
R
Данные операции (см. ниже)
Параметры данных операции:
Название
Тип
R/O
Описание
operationId
A
R
Идентификатор операции
paymentId
А
R
Идентификатор оплаты для повторного запроса статуса
orderId
А
R
Идентификатор заказа
link
А
O
Url перенаправления для выполнения оплаты через мобильное приложение банка
image
А
O
QR-код в виде картинки
operationDate
А
O
Дата и время создания операции. Заполняется для успешной операции
amount
N
R
Сумма операции в минимальной денежной единице (копейки, центы и т. д.)
createdAt
А
R
Дата и время создания операции
errorCode
А
O
Код ошибки. Присутствует если произошла ошибка при обработке запроса
errorMessage
А
O
Текст ошибки. Присутствует если произошла ошибка при обработке запроса
Пример:
{
"id": "eb7c49b5-2780-4c51-b7a2-d325342bbb9d",
"orderId": "Тестовый платеж",
"status": "Created",
"createdAt": "2023-06-22T08:55:07.767663Z",
"amount": 10001122,
"operations": [
{
"operationId": "fc95622b-8c59-4be6-96b5-cc02626c45b1",
"paymentId": "eb7c49b5-2780-4c51-b7a2-d325342bbb9d",
"orderId": "Тестовый платеж",
"link": "https://web.qr.nspk.ru/AD10006BIFH6TF2S99ERB6KVCQP77AVB?type=02&bank=100000000091&sum=10001122&cur=RUB&crc=668C",
"image": null,
"operationDate": null,
"type": "Payment",
"status": "Created",
"amount": 10001122,
"createdAt": "2023-06-22T08:55:08.290251Z",
"errorCode": null,
"errorMessage": null
}
]
}Получение списка операций
Метод предназначен для получения списка операций.
URL: /payments/qrcs/{paymentId}/operations
Метод: GET
Запрос
Параметры URL:
Название
Описание
paymentId
Идентификатор сессии при оплате
Ответ
В ответе возвращается массив объектов, содержащих данные о платежах.
Параметры данных о платежах:
Название
Тип
R/O
Описание
operationId
A
R
Идентификатор операции
paymentId
А
R
Идентификатор оплаты для повторного запроса статуса
orderId
А
R
Идентификатор заказа
link
А
O
Url перенаправления для выполнения оплаты через мобильное приложение банка
image
А
O
QR-код в виде картинки
operationDate
А
O
Дата и время создания операции. Заполняется для успешной операции
amount
N
R
Сумма операции в минимальной денежной единице (копейки, центы и т. д.)
createdAt
А
O
Дата и время создания операции
errorCode
А
O
Код ошибки. Присутствует если произошла ошибка при обработке запроса
errorMessage
А
O
Текст ошибки. Присутствует если произошла ошибка при обработке запроса
Пример:
[
{
"operationId": "a2b57356-443b-4a3b-a1da-df27f7fa3567",
"paymentId": "63e47f62-8b93-4a21-abdd-b5308ddc9fb7",
"orderId": "3391",
"link": "https://web.qr.nspk.ru/BD10006QGFJ9B15F9EJADEDJQ8JU122S?type=02&bank=100000000091&sum=103&cur=RUB&crc=A88D",
"image": null,
"operationDate": "2023-05-16T15:46:26.069Z",
"type": "Payment",
"status": "Completed",
"amount": 103,
"createdAt": "2023-05-16T11:48:24.198389Z",
"errorCode": null,
"errorMessage": null
},
{
"operationId": "6f516bde-b530-460b-a7b1-d1639e3e5862",
"paymentId": "63e47f62-8b93-4a21-abdd-b5308ddc9fb7",
"orderId": "3391",
"link": null,
"image": null,
"operationDate": "2023-05-16T16:51:15.86Z",
"type": "Refund",
"status": "Completed",
"amount": 100,
"createdAt": "2023-05-16T13:51:09.335205Z",
"errorCode": "5000",
"errorMessage": null
},
{
"operationId": "3665980d-18e8-46a5-8ffb-ee52dfc3f3c6",
"paymentId": "63e47f62-8b93-4a21-abdd-b5308ddc9fb7",
"orderId": "3391",
"link": null,
"image": null,
"operationDate": null,
"type": "Refund",
"status": "Failed",
"amount": 100,
"createdAt": "2023-05-16T13:53:02.970547Z",
"errorCode": "105",
"errorMessage": "Сумма возврата превышает доступный лимит по оригинальной операции. Возможная сумма возврата составляет 0 руб. 3 коп."
}
]Получение данных операции
Метод предназначен для получения данных операции.
URL: /payments/qrcs/{paymentId}/operations/{operationId}
Метод: GET
Запрос
Параметры URL:
Название
Описание
paymentId
Идентификатор сессии при оплате
operationId
Идентификатор операции
Ответ
Параметры ответа:
Название
Тип
R/O
Описание
operationId
A
R
Идентификатор операции
paymentId
А
R
Идентификатор оплаты для повторного запроса статуса
orderId
А
R
Идентификатор заказа
link
А
O
Url перенаправления для выполнения оплаты через мобильное приложение банка
image
А
O
QR-код в виде картинки
operationDate
А
O
Дата и время создания операции. Заполняется для успешной операции
amount
N
R
Сумма в минимальной денежной единице (копейки, центы и т. д.)
createdAt
А
R
Дата и время создания операции
errorCode
А
O
Код ошибки. Присутствует если произошла ошибка при обработке запроса
errorMessage
А
O
Текст ошибки. Присутствует если произошла ошибка при обработке запроса
Пример
{
"operationId": "a2b57356-443b-4a3b-a1da-df27f7fa3567",
"paymentId": "63e47f62-8b93-4a21-abdd-b5308ddc9fb7",
"orderId": "3391",
"link": "https://web.qr.nspk.ru/BD10006QGFJ9B15F9EJADEDJQ8JU122S?type=02&bank=100000000091&sum=103&cur=RUB&crc=A88D",
"image": "iVBORw0KGgoAAAANSUhEUgAAAeoAAAHqAQAAAADjFjCXAAADE0lEQVR4nO3aQW7rMAxFUQJeQJbkrXtJXkAB/UjkI+U0LX6iDDq4GqSxraNOCFGkY21lHAaHw+FwOBwO/0vcYmz37+fW/Ntx+7L7hD5u9yl7u1+2U1N3OHyRj4su4/LcrpfWF7reg8NXeQ/GjkLeA9S/dRQP9B9GSMPhn+RjR2xNs3LJDFo4/NO8j5GW9WCgOaTh8A/x8UfPPA97lI5Z9wNinA3P3/M7HP7/PMa8N/7woalw+CKvodsxVZH79bxBA4e/zxWMfYO81dM8IN7GxyhQNA8OX+V9RH8vZ/kR8PY1/4fpAw5f5rk39qA9EuWD6VtWyXD4Enc0EnQGbasSpFfEFaq5m8LhC9ynWp4D1YK5BK3FamMeHL7OmzZItVbaOBZG0tZlRS4c/glu09BCVYd4NPuhEQ7/BDcdBmtHjE5zBbI+IofD4avctjnxtqo+WqzrLcAI38cEDYe/zlu09kb1oYx8aKrlW41K0JeghcPf4NFzUZSqoaxXtuPSi+H2vBiBw1/n+Wzq9O1nvOkw7+/Vu9yn7T44/GX+5Rk5dsnMzU27ZASyo+9BC4e/zHeVu1V9KEBjtZGbo16ZFoLD3+VR7to2T80Hc0a+ZG44fIFXV08HP3Va8uWZp+UfYh4Of4urjTytNkLVozkSdPPXHf0KDl/k47bV7wZsKkHMoiLxKrmewuGL/DQdBpvafa2OhY9HxYcSGA5/h/dg9Ni0fIPRx5S094xrU9KGw1e5mX4eEKupNokCWVnaxw6Hr3E9a1l9VFkSDypfK4bh8DU+DoP1Vs0yI5tOhCpQNl98MDh8ietOZGRfbXu89C11V0jD4Wu8j6o0pqlNSVvNmDEegxYOf5XXMPNzYMRmrHHWvZwCh69xheKWy2gz9JGdvixL/D4cvsB9qjJya9N+GSVwzfveeIHD3+KXc2DzoFWTOaqU3/I7HL7M63crh1qAka9rcTj8czxby/PbWoXqcU3kcPgKH3+uGflQz9l27Zw+OV+3weEr3BSMVenqhyrRgqmPJ0ELh7/O3x1wOBwOh8Ph8L/C/wHTb4qyGG4AlwAAAABJRU5ErkJggg==",
"operationDate": "2023-05-16T15:46:26.069Z",
"type": "Payment",
"status": "Completed",
"amount": 103,
"createdAt": "2023-05-16T11:48:24.198389Z",
"errorCode": null,
"errorMessage": null
}Выплаты СБП
Общие сведения
Интерфейс позволяет выполнять операции B2С электронной коммерции по переводу средств со счета мерчанта на счета получателей, подключенные к системе СБП.
Роли участников СБП
Роль
Значение
PayoutReceiver
Возможность получения переводов (выплат) средств
Типы выплат
Тип
Описание
Payout
Перевод (выплата) средств
Статусы выплат
Статус
Описание
Created
Выплата зарегистрирована в шлюзе
Pending
Выплата находится в обработке
CheckCompleted
Проверка возможности проведения выплаты выполнена успешно. Выплата может быть выполнена
Completed
Выплата выполнена успешно
Failed
Выплата отклонена
Типы операций
Тип
Значение
CheckPayout
Проверка возможности выполнения перевода средств
Payout
Перевод (выплата) средств
Алгоритм использования
Для проведения выплаты необходимо знать идентификатор участника СБП, в котором находится счет пользователя. Получить идентификатор участника СБП и узнать возможно ли его использовать для выполнения выплаты можно с помощью метода Поиск участника СБП.
Процесс выполнения выплаты состоит их 2-х этапов:
Проверка возможности выполнения, см. Проверка возможности выполнения выплаты;
Выполнение выплаты, см. Выполнение выплаты.
Методы API
Для передачи тела запросов необходимо использовать значение application/json для заголовка Content-Type.
Для тела ответа API может быть использовано одно из следующих значений заголовка Content-Type:
application/json — штатное выполнение операции;
application/problem+json — в случае каких-либо проблем.
Более подробную информацию о кодах ответов и моделях данных можно посмотреть в документации swagger среды Sandbox (см. Среды).
Порядок следования параметров в запросах не важен. Регистр символов в url‑адресах и параметрах запросов — важен.
Ответы API могут содержать поля, не указанные в документации. При обработке ответов такие поля должны игнорироваться клиентским кодом.
Поиск участника СБП
Метод предназначен для поиска участника СБП. Метод позволяет выполнять поиск по названию и поддерживаемой роли. Есть возможность контролирования получения данных логотипа (если они присутствуют).
URL: /members
Метод: GET
Запрос
Параметры строки запроса:
Название
Тип
R/O
Описание
name
А
О
Название участника
includeLogo
В
О
Индикатор получения логотипа. По умолчанию — true
Ответ
В ответе возвращается массив объектов, содержащих данные найденных участников СБП.
Параметры данных участника СБП:
Название
Тип
R/O
Описание
id
A
R
Идентификатор участника СБП
name
A
R
Название участника СБП
logo
O
O
Логотип участника СБП
Параметры данных логотипа:
Название
Тип
R/O
Описание
content
A
R
Содержимое. Строка в формате Base64
contentMediaType
A
R
Тип содержимого
Пример:
GET https://sandbox.payler.com/fpapi/v1/members?name=%D0%BF%D1%80%D0%BE%D0%BC%D0%B1%D0%B0%D0%BD%D0%BA&includeLogo=false
Authorization-Key: ********
Authorization-Password: ********
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Correlation-ID: cb2fea69-39ad-4368-a47a-bba274a45c91
[{"id":"100000000001","name":"Газпромбанк","roles":["PayoutReceiver"]},{"id":"100000000142","name":"УРАЛПРОМБАНК","roles":["PayoutReceiver"]},{"id":"100000000155","name":"Нефтепромбанк","roles":[]},{"id":"100000000185","name":"Нацинвестпромбанк","roles":["PayoutReceiver"]}]Получение данных участника СБП
Метод предназначен для получения данных участника СБП. Есть возможность контроля получения данных логотипа (если они присутствуют).
URL: /members/{memberId}
Метод: GET
Запрос
Параметры URL:
Название
Описание
memberId
Индикатор участника СБП
Параметры строки запроса:
Название
Тип
R/O
Описание
includeLogo
B
O
Индикатор получения логотипа. По умолчанию — false
Ответ
В ответе возвращается объект, содержащий данные участника СБП.
Параметры данных участника СБП:
Название
Тип
R/O
Описание
id
A
R
Идентификатор участника СБП
name
A
R
Название участника СБП
logo
O
O
Логотип участника СБП
Параметры данных логотипа:
Название
Тип
R/O
Описание
content
A
R
Содержимое. Строка в формате Base64
contentMediaType
A
R
Тип содержимого
Пример:
GET
https://sandbox.payler.com/fpapi/v1/members/100000000091?includeLogo=false
Authorization-Key: ********
Authorization-Password: ********
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Correlation-ID: d112732d-eedc-4541-b29e-149e1cabe53c
{"id":"100000000091","name":"Сургутнефтегазбанк","roles":["PayoutReceiver"]}Проверка возможности выполнения выплаты
Метод предназначен для выполнения проверки возможности выполнения выплаты с указанными параметрами.
URL: /payouts/check
Метод: POST
Запрос
Параметры тела запроса:
Название
Тип
R/O
Описание
orderId
A..100
R
Идентификатор заказа
phone
A..50
R
Номер телефона получателя
memberId
A
R
Идентификатор участника СБП
amount
N
R
Сумма в минимальной денежной единице (копейки, центы и т. д.)
currency
A3
R
Валюта перевода. Только RUB
reference
A..100
O
Значение для отслеживания
purpose
A
O
Назначение
Ответ
Параметры тела ответа:
Название
Тип
R/O
Описание
payoutId
A
R
Идентификатор выплаты
orderId
A
R
Идентификатор заказа. Соответствует переданному в запросе
payoutType
A
R
Тип выплаты. Только RUB
operationId
A
R
Идентификатор операции
reference
A
O
Значение для отслеживания
phone
A
R
Номер телефона получателя
pam
A
O
РАМ получателя (Ф. И. О., первая буква фамилии)
amount
N
R
Сумма операции в минимальной денежной единице (копейки, центы и т. д.)
createdAt
A
R
Дата и время создания операции
errorCode
A
O
Код ошибки
errorMessage
A
O
Сообщение с описанием ошибки
Пример:
POST https://secure.payler.com/fpapi/v1/payouts/check
Authorization-Key: ********
Authorization-Password: ********
Content-Type: application/json
Content-Length: 238
{
"orderId": "test-payout-20220630-1",
"phone": "*******7768",
"memberId": "100000000004",
"amount": 100,
"currency": "RUB",
"reference": "test-payout-20220630-1-check",
"purpose": "Тестовая выплата"
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Correlation-ID: 7028f506-4925-44b6-8268-b315f4a4e78b
{"payoutId":"a91b3762-2b81-45d2-88c6-6b97defe41d9","orderId":"test-payout-20220630-1","payoutType":"Payout","operationId":"ce295d18-fb60-4826-bd6f-da7a7c9f1e14","reference":"test-payout-20220630-1-check","operationType":"CheckPayout","status":"Completed","phone":"*******7768","pam":"Андрей Алексеевич Б","amount":100,"createdAt":"2022-06-30T09:51:34.5290185Z"}Выполнение выплаты
Метод предназначен для выполнения выплаты после успешного проведения проверки возможности выполнения.
Выплата может быть проведена не позднее, чем через 3 минуты после успешного завершения проверки.
URL: /payouts/{payoutId}
Метод: POST
Запрос
Параметры URL:
Название
Описание
payoutId
Индикатор выплаты
Параметры тела запроса:
Название
Тип
R/O
Описание
reference
A
O
Значение для отслеживания
Ответ
Параметры тела ответа:
Название
Тип
R/O
Описание
payoutId
A
R
Идентификатор выплаты
orderId
A
R
Идентификатор заказа. Соответствует переданному в запросе
operationId
A
R
Идентификатор операции
reference
A
O
Значение для отслеживания
phone
A
R
Номер телефона получателя
pam
A
O
РАМ получателя (Ф. И. О., первая буква фамилии)
amount
N
R
Сумма операции в минимальной денежной единице (копейки, центы и т. д.)
createdAt
A
R
Дата и время создания операции
errorCode
A
O
Код ошибки
errorMessage
A
O
Сообщение с описанием ошибки
Пример:
POST https://secure.payler.com/fpapi/v1/payouts/a91b3762-2b81-45d2-88c6-6b97defe41d9
Authorization-Key: ********
Authorization-Password: ********
Content-Type: application/json
Content-Length: 53
{
"reference": "test-payout-20220630-1-execute"
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Correlation-ID: 4ac11cc5-3822-451e-98e5-4a1eec9b81b9
{"payoutId":"a91b3762-2b81-45d2-88c6-6b97defe41d9","orderId":"test-payout-20220630-1","payoutType":"Payout","operationId":"119b4a5d-4efa-4853-a3ab-a58d27fd55d5","reference":"test-payout-20220630-1-execute","operationType":"Payout","status":"Completed","phone":"*******7768","pam":"Андрей Алексеевич Б","amount":100,"createdAt":"2022-06-30T09:53:47.1597501Z"}Получение данных выплаты
Метод предназначен для получения данных выплаты.
URL: /payouts/{payoutId}
Метод: GET
Запрос
Параметры URL:
Название
Описание
payoutId
Индикатор выплаты
Ответ
Параметры тела ответа:
Название
Тип
R/O
Описание
id
A
R
Идентификатор выплаты
orderId
A
R
Идентификатор заказа
status
A
R
Статус выплаты. Возможные значения: см. Статусы выплат
createdAt
A
R
Время создания операции
amount
N
R
Сумма операции в минимальной денежной единице (копейки, центы и т. д.)
currencyCode
A
R
Валюта. Только RUB
rest
N
R
Остаток
operations
Ar
R
Операции
Параметры данных операции:
Название
Тип
R/O
Описание
id
A
R
Идентификатор операции
phone
A
R
Номер телефона получателя
reference
A
O
Значение для отслеживания
pam
A
O
РАМ получателя (Ф. И. О., первая буква фамилии)
Пример:
GET https://secure.payler.com/fpapi/v1/payouts/a91b3762-2b81-45d2-88c6-6b97defe41d9
Authorization-Key: ********
Authorization-Password: ********
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Correlation-ID: 17c2c794-5c57-4b63-a283-127d594b4b74
{"id":"a91b3762-2b81-45d2-88c6-6b97defe41d9","orderId":"test-payout-20220630-1","type":"Payout","status":"Completed","createdAt":"2022-06-30T09:51:34.506336Z","amount":100,"currencyCode":"RUB","rest":100,"operations":[{"id":"ce295d18-fb60-4826-bd6f-da7a7c9f1e14","type":"CheckPayout","status":"Completed","phone":"*******7768","reference":"test-payout-20220630-1-check","pam":"Андрей Алексеевич Б"},{"id":"119b4a5d-4efa-4853-a3ab-a58d27fd55d5","type":"Payout","status":"Completed","phone":"*******7768","reference":"test-payout-20220630-1-execute","pam":"Андрей Алексеевич Б"}]}Получение списка операций
Метод предназначен для получения списка операций.
URL: /payouts/{payoutId}/ operations
Метод отправки: GET
Запрос
Параметры URL:
Название
Описание
payoutId
Индикатор выплаты
Ответ
В ответе возвращается массив объектов, содержащих данные операций выплаты.
Параметры данных операции:
Название
Тип
R/O
Описание
payoutId
A
R
Идентификатор выплаты
orderId
A
R
Идентификатор заказа
operationId
A
R
Идентификатор операции
reference
A
O
Значение для отслеживания
phone
A
R
Номер телефона получателя
pam
A
O
РАМ получателя (Ф. И. О., первая буква фамилии)
amount
N
R
Сумма операции в минимальной денежной единице (копейки, центы и т. д.)
createdAt
A
R
Дата и время создания операции
errorCode
A
O
Код ошибки
errorMessage
A
O
Сообщение с описанием ошибки
Пример:
GET https://secure.payler.com/fpapi/v1/payouts/a91b3762-2b81-45d2-88c6-6b97defe41d9/operations
Authorization-Key: ********
Authorization-Password: ********
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Correlation-ID: d6d4be41-8476-40c5-8877-72ac8b1e3e5d
[{"payoutId":"a91b3762-2b81-45d2-88c6-6b97defe41d9","orderId":"test-payout-20220630-1","payoutType":"Payout","operationId":"ce295d18-fb60-4826-bd6f-da7a7c9f1e14","reference":"test-payout-20220630-1-check","operationType":"CheckPayout","status":"Completed","phone":"*******7768","pam":"Андрей Алексеевич Б","amount":100,"createdAt":"2022-06-30T09:51:34.529018Z"},{"payoutId":"a91b3762-2b81-45d2-88c6-6b97defe41d9","orderId":"test-payout-20220630-1","payoutType":"Payout","operationId":"119b4a5d-4efa-4853-a3ab-a58d27fd55d5","reference":"test-payout-20220630-1-execute","operationType":"Payout","status":"Completed","phone":"*******7768","pam":"Андрей Алексеевич Б","amount":100,"createdAt":"2022-06-30T09:53:47.15975Z"}]Получение данных операции
Метод предназначен для получения данных операции.
URL: payouts/{payoutId}/operations/{operationId}
Метод: GET
Запрос
Параметры URL:
Название
Описание
payoutId
Индикатор выплаты
operationId
Идентификатор операции
Ответ
Параметры тела ответа:
Название
Тип
R/O
Описание
payoutId
A
R
Идентификатор выплаты
orderId
A
R
Идентификатор заказа
operationId
A
R
Идентификатор операции
reference
A
O
Значение для отслеживания
phone
A
R
Номер телефона получателя
pam
A
O
РАМ получателя (Ф. И. О., первая буква фамилии)
amount
N
R
Сумма операции в минимальной денежной единице (копейки, центы и т. д.)
createdAt
A
R
Дата и время создания операции
errorCode
A
O
Код ошибки
errorMessage
A
O
Сообщение с описанием ошибки
Пример
GET https://secure.payler.com/fpapi/v1/payouts/a91b3762-2b81-45d2-88c6-6b97defe41d9/operations/ce295d18-fb60-4826-bd6f-da7a7c9f1e14
Authorization-Key: ********
Authorization-Password: ********
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Correlation-ID: a73cadad-bd95-4dca-89b1-fa8071c6c37a
{"payoutId":"a91b3762-2b81-45d2-88c6-6b97defe41d9","orderId":"test-payout-20220630-1","payoutType":"Payout","operationId":"ce295d18-fb60-4826-bd6f-da7a7c9f1e14","reference":"test-payout-20220630-1-check","operationType":"CheckPayout","status":"Completed","phone":"*******7768","pam":"Андрей Алексеевич Б","amount":100,"createdAt":"2022-06-30T09:51:34.529018Z"}Коды ошибок сервера
Код
Значение
400
Bad Request
Некорректный запрос
401
Unauthorized
Отказ в авторизации
403
Forbidden
Отказ в обработке запроса
404
Not Found
Данные об операции не найдены
422
Client Error
Логическая ошибка в содержимом запроса
500
Internal Server Error
Внутренняя ошибка сервера
Last updated