> 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/de-de/auszahlung/callback-benachrichtigung.md).

# Callback-Benachrichtigung

{% hint style="info" %}
TIPP (TIP)

Nachdem die Auszahlung abgeschlossen ist, sendet das System die entsprechenden Auszahlungsergebnisse und Informationen an den Händler. Der Händler muss diese empfangen und eine Antwort zurückgeben. Bei der Interaktion mit Hintergrundbenachrichtigungen geht das System davon aus, dass die Benachrichtigung fehlgeschlagen ist, wenn es eine Händlerantwort erhält, die nicht erfolgreich ist oder abläuft. Die Benachrichtigung wird gemäß einer bestimmten Richtlinie regelmäßig neu initiiert, um die Erfolgsrate der Benachrichtigung zu maximieren. Es gibt jedoch keine Garantie dafür, dass die Benachrichtigung erfolgreich ist. (Die Benachrichtigungshäufigkeit beträgt 0s/15s/30s/3m/10m/20m/30m/60m/3h/6h)
{% endhint %}

{% hint style="warning" %}
WARNUNG (WARNING)

Hinweis: Dieselbe Benachrichtigung kann mehrmals an den Händler gesendet werden. Und der Händler muss in der Lage sein, die doppelte Benachrichtigung korrekt zu verarbeiten. Empfohlene Vorgehensweisen sind wie folgt: Bei der Verarbeitung einer Benachrichtigung wird zunächst der Status der Auszahlung überprüft, um festzustellen, ob die Benachrichtigung verarbeitet wurde. Wenn nein, verarbeiten Sie sie erneut. Wenn ja, geben Sie direkt ein Erfolgsergebnis zurück. Vor der Statusüberprüfung und der Verarbeitung von Geschäftsdaten wird die Parallelitätskontrolle mithilfe von Datensperren durchgeführt, um Datenchaos durch Wiedereintritt in Funktionen zu vermeiden.
{% endhint %}

{% hint style="danger" %}
GEFAHR (DANGER)

Händler müssen eine Signaturüberprüfung für den Inhalt des Auszahlungs-Callbacks durchführen und überprüfen, ob der zurückgegebene Zahlungsbetrag korrekt ist, um Datenlecks und das Auftreten von „falschen Benachrichtigungen“ zu verhindern, die zu finanziellen Verlusten führen.
{% endhint %}

### **POST**

{% code fullWidth="false" %}

```
Der von "Auszahlung erstellen" (Create Payout) übermittelte Parameter notify_url. Wenn auf den Link nicht zugegriffen werden kann, 
kann Ihr Händler die Benachrichtigung vom System nicht empfangen.
```

{% endcode %}

#### Request Body

| Name             | Typ    | Beschreibung                                                                                                                                                                                                                                                             | Beschreibung |
| ---------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------ |
| app\_id          | string | Anwendung                                                                                                                                                                                                                                                                |              |
| mch\_id          | string | Händler                                                                                                                                                                                                                                                                  |              |
| create\_time     | time   | Benachrichtigungszeit                                                                                                                                                                                                                                                    |              |
| resource\_type   | string | Der Ressourcendatentyp der Benachrichtigung. Erfolgreiche Zahlungsbenachrichtigung ist encrypt-resource                                                                                                                                                                  |              |
| event\_type      | string | Benachrichtigungstyp. Der Typ der erfolgreichen Zahlungsbenachrichtigung ist PAYPAYOUT.SUCCESS.                                                                                                                                                                          |              |
| resource         | object | Ressourcendaten der Benachrichtigung                                                                                                                                                                                                                                     |              |
| » original\_type | string | Der ursprüngliche Callback-Typ ist payout                                                                                                                                                                                                                                |              |
| » algorithm      | string | Derzeit wird nur AES-256-ECB für den Verschlüsselungsalgorithmus unterstützt, der die Ergebnisdaten verschlüsselt                                                                                                                                                        |              |
| » ciphertext     | string | Base64-kodierter Ein-/Aus-Ergebnisdaten-Geheimtext. Wenn aktiviert, wird der verschlüsselte Inhalt zurückgegeben. Nach der Entschlüsselung handelt es sich um einen JSON-String von [PayoutTransactionDetail](/de-de/beschreibung/data-structure.md#auszahlungsdetails). |              |
| » nonce          | string | Mit zufälligen Zeichenfolgen verschlüsseln                                                                                                                                                                                                                               |              |

### **Anfragebeispiel (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"
	}
}
```

### **Rückgabebeispiel (Return example)**

```
success
```

Bitte geben Sie `success` zurück, um den Benachrichtigungsserver zu benachrichtigen, nachdem die Callback-Anfrage erfolgreich empfangen wurde. Nachdem der Benachrichtigungsserver `success` empfangen hat, stoppt die Benachrichtigung. Andernfalls wird die Benachrichtigung 10 Mal in der Häufigkeit 0s/15s/30s/3m/10m/20m/30m/60m/3h/6h gesendet.
