Перейти к основному содержимому

Структура уведомления

На этой странице описана структура уведомления об изменении статуса платежа и тестового уведомления. Оба они отправляются в формате POST-запроса со следующими атрибутами:

АтрибутТипОписаниеОбязательностьРасположениеПример
idStringID уведомленияДаbody12345
timestampStringВремя отправки уведомленияДаbody2022-07-08T13:24:41.8328711+03:00
payloadStringСтрока данных в Base64, зашифрованная с помощью алгоритма AES-256ДаbodyN/A

HTTP-заголовок запроса

ЗаголовокЗначениеОбязательность
Content-Typeapplication/jsonДа

payload

АтрибутТипОписаниеОбязательностьРасположениеПример
notification_typeString
  • INVOICE_STATUS — уведомление об изменении статуса реального платежа
  • INVOICE_STATUS_SANDBOX — уведомление об изменении статуса тестового платежа
  • TEST_EVENT — уведомление для проверки соединения в реальном окружении
  • TEST_EVENT_SANDBOX — уведомление для проверки соединения в тестовом окружении
ДаbodyINVOICE_STATUS
app_idNumberID приложения, в котором совершена покупкаДаbody12345
dataString

Блок данных, структура которого зависит от notification_type:

  • data при INVOICE_STATUS и INVOICE_STATUS_SANDBOX
  • data при TEST_EVENT и TEST_EVENT_SANDBOX
ДаbodyN/A

data уведомления об изменении статуса тестового или реального платежа

АтрибутТипОписаниеОбязательностьРасположениеПример
product_codeStringКод оплаченного продукта, указывается в RuStore Консоль при создании продуктаДаpayload.datatest_test
change_status_timeStringВремя изменения статуса платежа или время отправки первого уведомления.

Если уведомление доставляется с первой попытки, change_status_time соответствует timestamp
Даpayload.data1970-01-01T00:00:00Z
status_newString

Новый статус платежа. Доступные значения:

  • EXECUTED - запущен процесс оплаты;
  • CONFIRMED — финальный статус успешного платежа, денежные средства списаны с покупателя;
  • CANCELLED - отменён пользователем до запуска оплаты;
  • REJECTED - отказ при платеже (недостаточно средств, невалидный CVC или другие причины);
  • EXPIRED - истекло время на оплату;
  • PAID - для покупки потребляемых товаров, средства успешно захолдированы, покупка ожидает подтверждения со стороны разработчика;
  • REVERSED - для покупки потребляемых товаров: не поступило запроса на подтверждение холда, холд отменён, деньги возвращены покупателю;
  • REFUNDED - средства по счёту возвращены покупателю.
  • REFUNDING - инициирован возврат, запрос отправлен в эквайер.
Даpayload.datapaid
status_oldString

Предыдущий статус платежа. Доступные значения:

  • CREATED - создан;
  • EXECUTED - запущен процесс оплаты;
  • CONFIRMED — финальный статус успешного платежа, денежные средства списаны с покупателя;
  • CANCELLED - отменён пользователем до запуска оплаты;
  • REJECTED - отказ при платеже (недостаточно средств, невалидный CVC или другие причины);
  • EXPIRED - истекло время на оплату;
  • PAID - для покупки потребляемых товаров, средства успешно захолдированы, покупка ожидает подтверждения со стороны разработчика;
  • REVERSED - для покупки потребляемых товаров: не поступило запроса на подтверждение холда, холд отменён, деньги возвращены покупателю;
  • REFUNDED - средства по счёту возвращены покупателю.
  • REFUNDING - инициирован возврат, запрос отправлен в эквайер.
Даpayload.dataexecuted
purchase_tokenStringТокен покупки. Вы можете использовать его для получения информации о платеже через RuStore APIДаpayload.data111.123
invoice_idStringУникальный номер счёта на оплату в RuStoreДаpayload.data123
order_idStringУникальный номер заказа в системе приложения разработчика. Может указываться при инициации заказа в приложении, либо присваиваться автоматически платёжным провайдеромДаpayload.data123e4567e89b-12d3-a456-4266-55440000
purchase_idStringУникальный идентификатор покупкиДаpayload.data123e4567e89b-12d3-a456-4266-55440000
developer_payloadStringДополнительная информация о заказе, переданная разработчиком при покупке продукта. Возвращается для платежей, совершенных через Pay SDKНетpayload.dataAny data from developer

data уведомления для проверки соединения в тестовом или реальном окружении

АтрибутТипОписаниеРасположениеПример
testStringТестовая строкаpayload.dataTEST

Примеры payload

payload уведомления об изменении статуса тестового или реального платежа

{
"app_id": 12345,
"notification_type": "INVOICE_STATUS",
"data": "{\"change_status_time\":\"1970-01-01T00:00:00Z\",\"product_code\":\"test_test\",\"status_new\":\"paid\",\"status_old\":\"executed\",\"purchase_token\":\"111.123\",\"invoice_id\":\"123\",\"order_id\":\"123e4567e89b-12d3-a456-4266-55440000\",\"purchase_id\":\"123e4567e89b-12d3-a456-4266-55440000\"}"
}

payload уведомления для проверки соединения в тестовом или реальном окружении

{
"app_id": 12345,
"notification_type": "TEST_EVENT",
"data": "{\"test\":\"TEST\"}"
}