> For the complete documentation index, see [llms.txt](https://apidoc.tokenpay.me/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://apidoc.tokenpay.me/ru-ru/vyplata/uvedomlenie-o-kolbeke.md).

# Уведомление о колбэке

{% hint style="info" %}
ПОДСКАЗКА (TIP)

После завершения выплаты система отправит соответствующие результаты и информацию о выплате продавцу, и продавцу необходимо получить и вернуть ответ. При взаимодействии с фоновыми уведомлениями, если система получает от продавца ответ, который не успешен или время ожидания которого истекло, система считает, что уведомление не удалось. Уведомление будет периодически инициироваться заново в соответствии с определенной политикой, чтобы максимизировать вероятность успеха уведомления, но нет гарантии, что уведомление будет успешным. (Частота уведомлений составляет 0с/15с/30с/3м/10м/20м/30м/60м/3ч/6ч)
{% endhint %}

{% hint style="warning" %}
ПРЕДУПРЕЖДЕНИЕ (WARNING)

Примечание: Одно и то же уведомление может быть отправлено продавцу несколько раз. И продавец должен уметь правильно обрабатывать дублирующееся уведомление. Рекомендуемые практики таковы: при обработке уведомления сначала проверяется статус выплаты, чтобы определить, было ли обработано уведомление. Если нет, обработайте его снова. Если да, сразу верните успешный результат. Перед проверкой состояния и обработкой бизнес-данных выполняется управление параллелизмом с использованием блокировок данных, чтобы избежать хаоса данных, вызванного повторным входом в функции.
{% endhint %}

{% hint style="danger" %}
ОПАСНОСТЬ (DANGER)

Продавцы должны выполнять проверку подписи содержимого колбэка выплаты и проверять правильность возвращенной суммы платежа, чтобы предотвратить утечку данных и появление «фальшивых уведомлений», что влечет за собой потерю средств.
{% endhint %}

### **POST**

{% code fullWidth="false" %}

```
Параметр notify_url, отправленный функцией «Создать выплату» (Create Payout). Если ссылка недоступна, 
ваш продавец не сможет получать уведомления от системы.
```

{% endcode %}

#### Request Body

| Имя              | Тип    | Описание                                                                                                                                                                                                                                                                        | Описание |
| ---------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- |
| app\_id          | string | Приложение                                                                                                                                                                                                                                                                      |          |
| mch\_id          | string | Продавец                                                                                                                                                                                                                                                                        |          |
| create\_time     | time   | Время уведомления                                                                                                                                                                                                                                                               |          |
| resource\_type   | string | Тип данных ресурса уведомления. Уведомление об успешном платеже — encrypt-resource                                                                                                                                                                                              |          |
| event\_type      | string | Тип уведомления. Тип уведомления об успешном платеже — PAYPAYOUT.SUCCESS.                                                                                                                                                                                                       |          |
| resource         | object | Данные ресурса уведомления                                                                                                                                                                                                                                                      |          |
| » original\_type | string | Исходный тип обратного вызова — payout                                                                                                                                                                                                                                          |          |
| » algorithm      | string | В настоящее время для алгоритма шифрования, который шифрует данные результата, поддерживается только AES-256-ECB                                                                                                                                                                |          |
| » ciphertext     | string | Зашифрованный текст данных результатов включения/выключения, закодированный в Base64. Если этот параметр включен, возвращается зашифрованный контент. После расшифровки это строка JSON объекта [PayoutTransactionDetail](/ru-ru/opisanie/struktura-dannykh.md#detali-vyplaty). |          |
| » nonce          | string | Шифрование с использованием случайных строк                                                                                                                                                                                                                                     |          |

### **Пример запроса (Request example)**

```json
{
	"app_id": "xxxxx",
	"mch_id": "zzzzzz",
	"create_time": "2023-06-26T17:21:17.754429+08:00",
	"resource_type": "encrypt-resource",
	"event_type": "PAYPAYOUT.SUCCESS",
	"resource": {
		"original_type": "payout",
		"algorithm": "AEAD_AES_256_GCM",
		"ciphertext": "I/psKgdkVwxbkEIWtwRxfxLzViuRS+gJTQSdLf+lmK7awoqUcIJisTAJx0Qbv4K6wV8WgyMRFYHD5CCLKmFNU2OnmEm2f2vGhaoS2h28A9BEGx1CWEUw3tfldf/+VWlBAnIBylFjHzbSo7fgn7S3fFEAZHTxoy+9jNIoynqHZbn4Y6eucj1YCw0ZmuKHPpPPrvclbhHmaZHfau+SKyag3C0/cj7zu4mBkRZ39zuk9B7DAADzaRENOZ/ZyibU+zs3gibnCbI2NWEnQWIiCi7vK0jq/FCBWytHihQM364zlVrPPCBDbv2MSqk4fyAM7IDeT6h/z/2kmDOQ6aFPYlLojIkgCCOIevQITS9E+BS1rgmmH+DRKsJNiD257aLhX2/F53VEnjfqqKdDs2lqfX0dCMLqselGUT981fFKceXg+r6hQqcUzLlF28XL5NrfVPreRDo6jI2K0tCy9cOx+cxH3yoDzOFBzM0RlxWqvUhRsMv9ZGfpgCZ0o9HxNObqLjVCQzE5SWPXvmkw+QpWk0oNUvpCEDhj9Vfq6XCV8j3tT3tZTYCa5UQy9VCdmval/2vb50QaAgDYXU6PH/9Xv7AXg6kg29iK+Ec0euxZxosRoVczzRg+0Arl/zvBcphWNIUTdx5IcA12WtP+krk9NNGtj7igk21DhcseJrKBpG7ll9O/Wmq1L8BwW+ypuJS+kHV61jRNYMFJY48Pt11Zoukgqu94kzrhz+KET8q463zlyu/Kp2z5yWI8xwvOtuyjosszfm6/YFQTFdhcmHY3X1yz44NaVG9FPev1QPoPmI7K3Jqa0Q8Q5kQTbe/KrB0eyRpXtyAaShOEeiS2ypmFAC81/m4mjuTd24yAjBcTIfBYzjxwjPbKfv+OYKahDwJP1b7EhsM+Sgu48wQ+pp6wc8TYCOkiRR1pKeb3kaxpQGzlq7VNbWHFPw9TDiyCIEnr8T5eiJtzJJ0U0iIfqN5WHk7iHiNK4Y4TvmdF4f6UyeMTHvaprvzUZI8il5wvoCgIiRUY7qvv5V/KL4ZWHN6Y3EEvQmP4WDo3Wx5IFW8C1gkyFv8lQ1COSNYMPog6RLAI0rNvKZjvc4baWwcHmk/fM92X19F2Y0DArqLFFUTJVE5bUQXQexiUO1e8IL07wqY=",
		"nonce": "d8816e8d6dca4409b790a4bcaa25c621"
	}
}
```

### **Пример возврата (Return example)**

```
success
```

Пожалуйста, верните `success`, чтобы уведомить сервер уведомлений после успешного получения запроса на обратный вызов. После того как сервер уведомлений получит `success`, отправка уведомлений прекращается. В противном случае уведомление будет отправлено 10 раз с частотой 0с/15с/30с/3м/10м/20m/30м/60м/3ч/6ч.
