跳到主要内容

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

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

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

payload

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

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

  • data при INVOICE_STATUS
  • data при TEST_EVENT
Да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 — пользователь выбрал способ оплаты, платёж исполняется
  • cancelled — отменён пользователем
  • paid — средства зарезервированы, счёт ожидает подтверждения (только для покупки потребляемых продуктов)
  • confirmed — оплата прошла успешно
  • reversed — отмена резервирования средств
  • refunded — средства по счёту возвращены покупателю
payload.datapaid
status_oldString

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

  • created — cчёт на оплату создан
  • executed — пользователь выбрал способ оплаты, платёж исполняется
  • paid — средства зарезервированы, счёт ожидает подтверждения (только для покупки потребляемых продуктов)
  • confirmed — оплата прошла успешно
payload.dataexecuted
purchase_tokenStringТокен покупки. Вы можете использовать его для получения информации о платеже через RuStore APIpayload.data111.123
invoice_idStringУникальный номер счёта на оплату в RuStorepayload.data123
order_idStringУникальный номер заказа в системе приложения разработчика. Может указываться при инициации заказа в приложении, либо присваиваться автоматически платёжным провайдеромpayload.data123e4567e89b-12d3-a456-4266-55440000
purchase_idStringУникальный номер покупкиpayload.data123e4567e89b-12d3-a456-4266-55440000

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\"}"
}