ym88659208ym87991671
Обработка уведомлений в SmartPay | Документация для разработчиков

Обработка уведомлений в SmartPay

Обновлено 15 декабря 2023

Платежный сервис отправляет callback-уведомления провайдеру по следующим событиям: активация, отмена и продление подписки. Уведомление приходит на URL, который был указан при получении доступа к подпискам. Формат уведомления различается по типу события и набору передаваемых полей.

Формат запроса

Активация подписки

АтрибутОписание
operationTypestring
Тип операции, по которой отправляется уведомление. Принимает значение ACTIVATE — создание новой подписки
smartAppIdlong
Идентификатор смартапа в платежном сервисе
userIdstring
Идентификатор пользователя, переданный в запросе на создание подписки
subscriptionIdlong
Идентификатор созданной подписки
addParametersstring
Список дополнительных параметров, которые передавались в запросе на подключение подписки
productCodestring
Артикул (код продукта подписки)
invoiceIdstring
Идентификатор платежа для оформления подписки
invoiceDatestring (или OffsetDateTime – "yyyy-MM-dd'T'HH:mm:ssXXX")
Дата создания счета для оформления подписки
paymentResultstring
Статус оплаты. Для активации придет значение CONFIRMED — оплачен
currentPeriodstring
Название первого периода подписки:
• PROMO — бесплатный период
• START — период с пониженной стоимостью
• STANDARD — период по умолчанию, действует до конца подписки
• GRACE — период повторных попыток списания. В течение периода контент не блокируется
• HOLD — период повторных попыток списания. В течение периода контент блокируется
endCurrentPeriodDatestring (или OffsetDateTime – "yyyy-MM-dd'T'HH:mm:ssXXX")
Дата окончания первого периода

Пример

{
"smartAppId": 3,
"userId": "a4d32f...",
"subscriptionId": 111111,
"partnerSubscriptionId": null,
"invoiceId": "876...",
"invoiceDate": "2021-09-10T10:20:51+03:00",
"paymentResult": "CONFIRMED",
"addParameters": "{\"scope\": \"\", \"token\": \"nds1D...\", \"user_id\": \"rq5l...\", \"category\": \"PURCHASE\", \"provider\": \"Provider1\", \"contentId\": \"SberdeviceLite\", \"ipAddress\": \"109.25...\", \"contentType\": \"subscription\", \"externalStoreId\": \"SberdeviceLite\"}",
"operationType": "ACTIVATE",
"productCode": "SberdeviceLite",
"currentPeriod": "STANDARD",
"endCurrentPeriodDate": "2021-10-10T10:21:15+03:00"
}

Отмена подписки

АтрибутОписание
operationTypestring
Тип операции, по которой отправляется уведомление. Принимает значение CLOSED — отмена подписки по инициативе пользователя
smartAppIdlong
Идентификатор смартапа в платежном сервисе
userIdstring
Идентификатор пользователя, переданный в запросе на создание подписки
subscriptionIdlong
Идентификатор отменяемой подписки
addParametersstring
Список дополнительных параметров, которые передавались в запросе на подключение подписки
productCodestring
Артикул (код продукта подписки)
invoiceDatestring (или OffsetDateTime – "yyyy-MM-dd'T'HH:mm:ssXXX")
Дата отправки уведомления
currentPeriodstring
Название отмененного периода подписки:
• PROMO — бесплатный период
• START — период с пониженной стоимостью
• STANDARD — период по умолчанию, действует до конца подписки
• GRACE — период повторных попыток списания. В течение периода контент не блокируется
• HOLD — период повторных попыток списания. В течение периода контент блокируется
endCurrentPeriodDatestring (или OffsetDateTime – "yyyy-MM-dd'T'HH:mm:ssXXX")
Текущие дата и время отмены подписки

Успешное продление подписки

АтрибутОписание
operationTypestring
Тип операции, по которой отправляется уведомление. Принимает значение PROLONG — успешное продление подписки
smartAppIdlong
Идентификатор смартапа в платежном сервисе
userIdstring
Идентификатор пользователя, переданный в запросе на создание подписки
subscriptionIdlong
Идентификатор продлеваемой подписки
addParametersstring
Список дополнительных параметров, которые передавались в запросе на подключение подписки
productCodestring
Артикул (код продукта подписки)
invoiceIdstring
Идентификатор счета для продления подписки
invoiceDatestring (или OffsetDateTime – "yyyy-MM-dd'T'HH:mm:ssXXX")
Дата создания счета для продления подписки
paymentResultstring
Статус оплаты. Для продления передается значение CONFIRMED — оплачен
currentPeriodstring
Следующий период подписки:
• START — период с пониженной стоимостью
• STANDARD — период по умолчанию, действует до конца подписки
• GRACE — период повторных попыток списания. В течение периода контент не блокируется
• HOLD — период повторных попыток списания. В течение периода контент блокируется
endCurrentPeriodDatestring (или OffsetDateTime – "yyyy-MM-dd'T'HH:mm:ssXXX")
Дата окончания следующего периода

Подписка не продлена

АтрибутОписание
operationTypestring
Тип операции, по которой отправляется уведомление. Принимает значение DECLINED — неуспешное продление подписки
smartAppIdlong
Идентификатор смартапа в платежном сервисе
userIdstring
Идентификатор пользователя, переданный в запросе на создание подписки
subscriptionIdlong
Идентификатор продлеваемой подписки
addParametersstring
Список дополнительных параметров, которые передавались в запросе на подключение подписки
productCodestring
Артикул (код продукта подписки)
invoiceIdstring
Идентификатор счета для продления подписки
invoiceDatestring (или OffsetDateTime – "yyyy-MM-dd'T'HH:mm:ssXXX")
Дата создания счета для продления подписки
paymentResultstring
Статус оплаты. Для неуспешного продления придет значение CANCELLED — подписка не оплачена
currentPeriodstring
Текущий период подписки:
• START — период с пониженной стоимостью
• STANDARD — период по умолчанию, действует до конца подписки
• GRACE — период повторных попыток списания. В течение периода контент не блокируется
• HOLD — период повторных попыток списания. В течение периода контент блокируется
endCurrentPeriodDatestring (или OffsetDateTime – "yyyy-MM-dd'T'HH:mm:ssXXX")
Дата окончания текущего периода

Формат ответа

Ответы провайдера для следующих типов уведомлений:

  • Активация подписки
  • Отмена подписки
  • Успешное продление подписки
  • Подписка не продлена
АтрибутОписание
operationTypestring
Тип операции, по которой отправляется уведомление
smartAppIdlong
Идентификатор смартапа в платежном сервисе
subscriptionIdlong
Идентификатор продлеваемой подписки
resultboolean
Результат ответа.
• True – подтверждающий ответ
• False – ошибка или отказ в подтверждении
resultMessagestring
Содержание ответа. Необязательное поле
codelong
Код ответа.
• 200 – подтверждающий ответ
• 500 – ошибка или отказ в подтверждении
partnerSubscriptionIdlong
Идентификатор подписки у провайдера. Необязательное поле

Примеры

Подтверждающий ответ

{
"smartAppId": "3",
"subscriptionId": 111111,
"code": 200,
"partnerSubscriptionId": null,
"operationType": "ACTIVATE",
"result": true,
"resultMessage": "{\n \"invoice_id\" : \"876...\",\n \"server_time\" : \"2021-09-10T10:21:15.248952+03:00\",\n \"code\" : \"Ok\",\n \"result\" : \"\"\n}"
}

Ошибка или отказ в подтверждении

{
"smartAppId": "4",
"subscriptionId": 589219,
"code": 500,
"partnerSubscriptionId": null,
"operationType": "ACTIVATE",
"result": false,
"resultMessage": "Подписка не найдена"
}
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.