СБП

Общие сведения

Общие сведения

Интерфейс позволяет:

  • выполнять операции электронной коммерции по оплате товаров и услуг мерчанта со счетов плательщиков, подключенных к системе СБП,

  • выполнять операции 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-кода или ссылки. Оплата доступна для клиентов мерчантов на рынке РФ.

В рамках оплаты через СНГБ от клиента не требуется ввод каких-либо платежных данных или авторизация на платежной форме, оплата происходит с использованием мобильного приложения банка клиента, который подключен к СБП. При этом денежные средства со счета клиента на счет мерчанта поступают моментально.

Для подключения данного способа оплаты мерчанту требуется:

  1. Обратиться к персональному менеджеру или в службу технической поддержки Payler.

  2. Заполнить анкету-заявление для регистрации торговой точки в СНГБ и терминала в банке эквайере.

Общий сценарий приема оплаты через СБП:

  1. Клиент выбрал товар или услугу на сайте мерчанта и переходит к оплате.

  2. Мерчант отображает СБП среди прочих доступных методов оплаты.

  3. В зависимости от реализации на стороне мерчанта, клиент выбирает один из вариантов оплаты через СБП:

    • Отсканировать QR-code;

    • Перейти в мобильное приложение банка.

  4. Если выбрано «Отсканировать QR-code»:

    • Браузер направляет запрос в Payler, передавая параметры авторизации и оплаты;

    • Payler передает QR-code в браузер;

    • Браузер отображает QR-code;

    • Клиент сканирует полученный QR-code с экрана;

    • Клиент оплачивает покупку через мобильное приложение банка, перейдя по ссылке из QR-code.

  5. Если выбрано «Перейти в мобильное приложение банка»:

    • Браузер отображает страницу с выбором банка;

    • Клиент оплачивает покупку через мобильное приложение банка, перейдя по ссылке из QR-code.

  6. НСПК оповещает Payler о смене статуса операции.

  7. Payler направляет асинхронное уведомление (callback) о смене статуса мерчанту. Мерчант имеет возможность отправить запрос для отправки callback для получения уведомления о результате выполнения платежа или о финальном статусе операции. Отмена платежа, выполненного через СБП невозможна, доступен только возврат платежа (операция Refund). Возврат возможен только при наличии необходимой суммы с учетом комиссии на счёте мерчанта.

Если клиент после отображения QR-code выбирает иной способ оплаты, а потом снова возвращается к способу оплаты «СБП» (повторно нажимает кнопку СБП), браузер отображает ранее полученный QR-code.

Если в платёжной ссылке перед qr.nspk.ru/AD10007L01CT4Q108V28KD1448SA1L9C подставить «web» и открыть ссылку с мобильного устройства — откроется страница с выбором конкретного банковского приложения.

Типы платежей

Тип

Значение

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

Дата и время создания операции. Заполняется для успешной операции

type

А

R

Тип операции. Возможные значения: см. Типы платежей

status

А

R

Статус операции. Возможные значения: см. Статусы операций

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

Дата и время создания операции. Заполняется для успешной операции

type

А

R

Тип операции. Возможные значения: см. Типы платежей

status

А

R

Статус операции. Возможные значения: см. Статусы операций

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

Идентификатор заказа в системе мерчанта

status

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

Дата и время создания операции. Заполняется для успешной операции

type

A

R

Тип операции. Возможные значения: см. Типы платежей

status

A

R

Статус платежа. Возможные значения: см. Статусы операций

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

Дата и время создания операции. Заполняется для успешной операции

type

A

R

Тип операции. Возможные значения: см. Типы платежей

status

A

R

Статус платежа. Возможные значения: см. Статусы операций

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

Дата и время создания операции. Заполняется для успешной операции

type

A

R

Тип операции. Возможные значения: см. Типы платежей

status

A

R

Статус платежа. Возможные значения: см. Статусы операций

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-х этапов:

  1. Проверка возможности выполнения, см. Проверка возможности выполнения выплаты;

  2. Выполнение выплаты, см. Выполнение выплаты.

Методы API

Для передачи тела запросов необходимо использовать значение application/json для заголовка Content-Type.

Для тела ответа API может быть использовано одно из следующих значений заголовка Content-Type:

  • application/json — штатное выполнение операции;

  • application/problem+json — в случае каких-либо проблем.

Более подробную информацию о кодах ответов и моделях данных можно посмотреть в документации swagger среды Sandbox (см. Среды).

Порядок следования параметров в запросах не важен. Регистр символов в url‑адресах и параметрах запросов — важен.

Ответы API могут содержать поля, не указанные в документации. При обработке ответов такие поля должны игнорироваться клиентским кодом.

Поиск участника СБП

Метод предназначен для поиска участника СБП. Метод позволяет выполнять поиск по названию и поддерживаемой роли. Есть возможность контролирования получения данных логотипа (если они присутствуют).

URL: /members Метод: GET

Запрос

Параметры строки запроса:

Название

Тип

R/O

Описание

name

А

О

Название участника

role

А

О

Роль участника. Возможные значения: см. Роли участников СБП

includeLogo

В

О

Индикатор получения логотипа. По умолчанию — true

Ответ

В ответе возвращается массив объектов, содержащих данные найденных участников СБП.

Параметры данных участника СБП:

Название

Тип

R/O

Описание

id

A

R

Идентификатор участника СБП

name

A

R

Название участника СБП

logo

O

O

Логотип участника СБП

roles

A

R

Роли участника. Возможные значения: см. Роли участников СБП

Параметры данных логотипа:

Название

Тип

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

Логотип участника СБП

roles

A

R

Роли участника. Возможные значения: см. Роли участников СБП

Параметры данных логотипа:

Название

Тип

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

Значение для отслеживания

operationType

A

R

Тип операции. Возможные значения: см. Типы операций

status

A

R

Статус выплаты. Возможные значения: см. Статусы операций

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

Идентификатор заказа. Соответствует переданному в запросе

payoutType

A

R

Тип выплаты. Возможные значения: см. Типы выплат

operationId

A

R

Идентификатор операции

reference

A

O

Значение для отслеживания

operationType

A

R

Тип операции. Возможные значения: см. Типы операций

status

A

R

Статус операции. Возможные значения: см. Статусы операций

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

Идентификатор заказа

type

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

Идентификатор операции

type

A

R

Тип операции. Возможные значения: см. Типы операций

status

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

Идентификатор заказа

payoutType

A

R

Тип выплаты. Возможные значения: см. Типы выплат

operationId

A

R

Идентификатор операции

reference

A

O

Значение для отслеживания

operationType

A

R

Тип операции. Возможные значения: см. Типы операций

status

A

R

Статус операции. Возможные значения: см. Статусы операций

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

Идентификатор заказа

payoutType

A

R

Тип выплаты. Возможные значения: см. Типы выплат

operationId

A

R

Идентификатор операции

reference

A

O

Значение для отслеживания

operationType

A

R

Тип операции. Возможные значения: см. Типы операций

status

A

R

Статус выплаты. Возможные значения: см. Статусы операций

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