Webhook уведомления

После изменения статуса платежа, на указанный вами Webhook URL будет отправлен POST запрос со следующими данными:

Заголовки

Content-Type: application/json
signature: 5a91a3a25da58608edba2ee1fe127f67

Тело запроса

{
  "id": "97048cb2-f36f-410a-8e5e-574e0f20905e",
  "merchant": {
    "name": "Лавка Админа",
    "resource": "tg://resolve?domain=your_shop_bot",
    "description": "описание магазина"
  },
  "bill": {
    "amount": "10.00",
    "method": {
      "name": "USDT",
      "network": "TRC20",
      "params": [],
      "symbol": "USDT"
    },
    "status": [
      {
        "id": "WAIT_USER_PAY",
        "received_at": "2024-02-29T17:21:11.872098+03:00",
        "name": "Ожидание",
        "description": "Ожидание оплаты от пользователя"
      },
      {
        "id": "PROCESSING_PAY",
        "received_at": "2024-02-29T17:22:06.152611+03:00",
        "name": "Найден в сети",
        "description": "Платеж был найден, ожидание подтверждения сети"
      },
      {
        "id": "PAY_SUCCESS",
        "received_at": "2024-02-29T17:23:06.173868+03:00",
        "name": "Подтвержден",
        "description": "Платеж был найден и подтвержден сетью"
      }
    ],
    "details": {
      "amount": "0.110162",
      "address": {
        "type": "crypto",
        "address": "TLaXSugeQqtjz3DWWZUzp1K1qeT4U2xpB9"
      },
      "transaction_id": "a9a456dc5880fbc7e13ab536310d95db256dc4c2e0c47244baf1a7c3ac4da143"
    },
    "last_status": {
      "id": "PAY_SUCCESS",
      "received_at": "2024-02-29T17:23:06.173868+03:00",
      "name": "Подтвержден",
      "description": "Платеж был найден и подтвержден сетью"
    }
  },
  "status": {
    "id": "SUCCESS",
    "name": "Оплачен",
    "description": "Счет успешно оплачен"
  },
  "amount": "10.00",
  "detail": "Комментарий к платежу",
  "created": "2024-02-29T17:21:02.305914+03:00",
  "expiration_at": "2024-02-29T18:21:02+03:00",
  "return_url": "http://google.com"
}

Важно: Webhook запросы будут отправляться с IP-адреса 172.233.49.76. Рекомендуется настроить фильтрацию запросов по этому IP для дополнительной безопасности.

Обработка платежей

При получении webhook-уведомления, необходимо проверить статус платежа в поле status.id:

  • Если status.id равен "SUCCESS", платеж успешно завершен.
  • Если status.id равен "ERROR", произошла ошибка при обработке платежа.

В случае ошибки, дополнительную информацию можно найти в поле bill.details. Например, если сумма платежа отличается от ожидаемой, в bill.details.received_amount будет указана фактически полученная сумма.

Пример успешного платежа

{
  "status": {
    "id": "SUCCESS",
    "name": "Оплачен",
    "description": "Счет успешно оплачен"
  },
  "amount": "10.00",
  "detail": "Комментарий к платежу"
}

Пример платежа с ошибкой

{
  "status": {
    "id": "ERROR",
    "name": "Ошибка",
    "description": "Счет завершен с ошибкой"
  },
  "amount": "10.00",
  "detail": "Комментарий к платежу",
  "bill": {
    "details": {
      "received_amount": "9.75",
      "error": "Ожидаемая сумма пополнения 10.00 RUB, полученная сумма 9.75 RUB"
    }
  }
}