> 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/fr-fr/paiement/notification-de-rappel.md).

# Notification de rappel

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

Une fois le paiement effectué, le système enverra les résultats et informations pertinents au marchand, et le marchand doit les recevoir et renvoyer la réponse. Lors de l'interaction avec les notifications d'arrière-plan, si le système reçoit une réponse du marchand qui n'aboutit pas ou qui expire, le système considère que la notification a échoué. La notification sera relancée périodiquement selon une certaine politique afin de maximiser le taux de réussite de la notification, mais il n'y a aucune garantie que la notification réussira. (La fréquence de notification est de 0s/15s/30s/3m/10m/20m/30m/60m/3h/6h)
{% endhint %}

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

Remarque : La même notification peut être envoyée plusieurs fois au marchand. Et le marchand doit être capable de traiter correctement la notification en double. Les pratiques recommandées sont les suivantes : lors du traitement d'une notification, vérifier d'abord le statut du paiement pour déterminer si la notification a été traitée. Si non, traitez-la à nouveau. Si oui, renvoyez directement un résultat de réussite. Avant la vérification de l'état et le traitement des données commerciales, le contrôle de la concurrence est effectué à l'aide de verrous de données pour éviter le chaos des données causé par la réentrance des fonctions.
{% endhint %}

{% hint style="danger" %}
DANGER

Les marchands doivent effectuer une vérification de la signature sur le contenu du rappel de paiement et vérifier si le montant du paiement retourné est correct, pour éviter les fuites de données et l'émergence de « fausses notifications », entraînant une perte de fonds.
{% endhint %}

### **POST**

{% code fullWidth="false" %}

```
Le paramètre notify_url soumis par "Créer un paiement" (Create Payout). Si le lien n'est pas accessible, 
votre marchand ne peut pas recevoir la notification du système.
```

{% endcode %}

#### Request Body

| Nom              | Type   | Description                                                                                                                                                                                                                                                 | Description |
| ---------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| app\_id          | string | Application                                                                                                                                                                                                                                                 |             |
| mch\_id          | string | Marchand                                                                                                                                                                                                                                                    |             |
| create\_time     | time   | Heure de notification                                                                                                                                                                                                                                       |             |
| resource\_type   | string | Le type de données de ressource de la notification. La notification de succès de paiement est encrypt-resource                                                                                                                                              |             |
| event\_type      | string | Type de notification. Le type de notification de succès de paiement est PAYPAYOUT.SUCCESS.                                                                                                                                                                  |             |
| resource         | object | Données de ressource de notification                                                                                                                                                                                                                        |             |
| » original\_type | string | Le type de rappel d'origine est payout                                                                                                                                                                                                                      |             |
| » algorithm      | string | Actuellement, seul AES-256-ECB est pris en charge pour l'algorithme de chiffrement qui chiffre les données de résultat                                                                                                                                      |             |
| » ciphertext     | string | Texte chiffré de données de résultat activé/désactivé codé en Base64. S'il est activé, le contenu crypté est renvoyé. Après décryptage, c'est une chaîne JSON de [PayoutTransactionDetail](/fr-fr/description/structure-de-donnees.md#details-du-paiement). |             |
| » nonce          | string | Crypter à l'aide de chaînes aléatoires                                                                                                                                                                                                                      |             |

### **Exemple de requête (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"
	}
}
```

### **Exemple de retour (Return example)**

```
success
```

Veuillez renvoyer `success` pour notifier le serveur de notification après avoir reçu avec succès la demande de rappel. Une fois que le serveur de notification a reçu `success`, la notification s'arrête. Sinon, la notification sera envoyée 10 fois à la fréquence de 0s/15s/30s/3m/10m/20m/30m/60m/3h/6h.
