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

# Notification de rappel

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

Une fois le paiement effectué, le centre de paiement enverra les résultats du paiement et les informations pertinentes au marchand, et le marchand doit recevoir le traitement et renvoyer la réponse. Lors de l'interaction avec les notifications d'arrière-plan, si le centre de paiement reçoit une réponse du marchand qui n'aboutit pas ou qui expire, le centre de paiement 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 système du marchand. Et le système du marchand doit être capable de traiter correctement la même notification. Les pratiques recommandées sont les suivantes. Lors du traitement d'une notification, vérifier d'abord le statut des données commerciales correspondantes 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

Attention : Le système du marchand doit effectuer une vérification de la signature du contenu du rappel de commande et vérifier si le montant de la commande retourné correspond au montant de la commande. La raison en est d'empêcher les fuites de données entraînant de « faux avis », ce qui entraînerait une perte de fonds.
{% endhint %}

#### Adresse de l'interface (Interface address)

```
Le paramètre notify_url soumis par l'interface de commande unifiée POST est défini. Si vous ne pouvez pas accéder au lien, votre système de service ne peut pas recevoir la notification du centre de paiement.
```

#### 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 SUCCESS.                                                                                                                                                                         |             |
| resource         | object | Données de ressource de notification                                                                                                                                                                                                                     |             |
| » original\_type | string | Le type de rappel d'origine est transaction                                                                                                                                                                                                              |             |
| » 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 [TransactionNotifyDetail](/fr-fr/description/structure-de-donnees.md#details-de-lavis). |             |
| » 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": "TRANSACTION.SUCCESS",
	"resource": {
		"original_type": "transaction",
		"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.
