# Уведомление об оплате

После успешной оплаты на **URL уведомлений**, указанный в настройках магазина, **Kassify** отправляет запрос с данными о платеже.

* **Метод:** `POST`
* **IP-адреса отправки (SCI):**
  * `185.236.21.162`
  * `109.248.202.65`

***

### Параметры уведомления

| Параметр           | Где приходит                 | Описание                               |
| ------------------ | ---------------------------- | -------------------------------------- |
| `status_shop`      | `$_POST['status_shop']`      | Статус платежа (`success` или `error`) |
| `summ_shop`        | `$_POST['summ_shop']`        | Сумма платежа (v1)                     |
| `sum3`             | `$_POST['sum3']`             | Сумма платежа (v2)                     |
| `order_id`         | `$_POST['order_id']`         | Уникальный идентификатор заказа        |
| `hash`             | `$_POST['hash']`             | Подпись уведомления (см. ниже)         |
| `idoerations_shop` | `$_POST['idoerations_shop']` | Внутренний ID операции                 |

***

### Формула подписи

Для проверки уведомления нужно сгенерировать `hash` по формуле:

```
md5(ids:summ_shop:secret:status_shop:idoerations_shop:order_id)
```

* `ids` — ID мерчанта
* `summ_shop` — сумма платежа (для v1)
* `secret` — секретное слово магазина
* `status_shop` — статус платежа
* `idoerations_shop` — ID операции
* `order_id` — идентификатор заказа

***

### Пример обработчика (PHP)

```php
<?php
$ids       = '9';                       // ID мерчанта
$key_shop  = 'fJIZSD1wokUsOHgffdwM';    // Секретное слово

// Формируем подпись
$hashString = $ids . ':' .
              $_POST['summ_shop'] . ':' .
              $key_shop . ':' .
              $_POST['status_shop'] . ':' .
              $_POST['idoerations_shop'] . ':' .
              $_POST['order_id'];

$hash = md5($hashString);

// Проверяем подпись и статус
if ($_POST['hash'] === $hash && $_POST['status_shop'] === "success") {
    // ✅ Платёж зачислен — ваш код
    echo $_POST['order_id'] . "|success";
    exit();
} else {
    // ❌ Платёж не подтверждён
    echo $_POST['order_id'] . "|error";
}
?>
```

***

### Рекомендации

* Всегда проверяйте **IP отправителя** (185.236.21.162, 109.248.202.65).
* Сохраняйте данные уведомлений в логах для последующей сверки.
* В ответ на корректное уведомление возвращайте строку:

```
{order_id}|success
```

или

```
{order_id}|error
```
