---
title: "Réagir aux résultats d'un achat"
description: "Réagissez à chaque résultat d'achat dans le code de votre app, et ouvrez un deuxième flow lorsque l'achat aboutit."
---

> **AI agents**: to search Adapty docs faster and with fewer tokens, install the Adapty skill. Claude Code (self-updating via plugin): `claude plugin marketplace add adaptyteam/adapty-sdk-integration-skill && claude plugin install adapty-sdk-integration@adapty` — other tools: `npx skills add adaptyteam/adapty-sdk-integration-skill --all`

Lorsqu'un achat se termine, le SDK Adapty appelle votre app avec le résultat. Rien ne change à l'écran tant que votre app ne réagit pas. Votre app peut fermer le paywall, le laisser ouvert pour une nouvelle tentative, ou ouvrir un deuxième flow pour confirmer l'achat.

Le builder ne peut pas bifurquer sur le résultat d'un achat : aucun [déclencheur](onboarding-actions#trigger-types) ne se déclenche à la fin d'un achat, et aucune [variable](onboarding-variables) n'en transporte le résultat. La transition appartient donc à votre code, là où le résultat arrive.

Le travail se divise en trois parties :

- Créer le flow post-achat et l'assigner à son propre placement.
- Dans le code de votre app, bifurquer selon le résultat de l'achat.
- En cas de succès, fermer le paywall et afficher le flow post-achat.

## Avant de commencer \{#before-you-start\}

- Les flows nécessitent le SDK Adapty v4.0 ou une version ultérieure.
- Créez un paywall — par exemple, suivez le guide [Créer un écran de paywall de base](basic-paywall-screen).

## 1. Créer le flow post-achat \{#1-build-the-post-purchase-flow\}

[Créez le flow](paywall-builder-templates). Il s'exécute après l'achat, donc il n'a pas besoin de produits. Pour renvoyer l'utilisateur vers l'interface de votre application, ajoutez un bouton avec l'action **Close Flow** sur le dernier écran.

Utilisez une [**Action personnalisée**](onboarding-actions#custom-actions) lorsque le flow a plus d'une sortie possible. Créez plusieurs boutons, chacun avec son propre identifiant d'action, pour que votre application puisse distinguer **Set up now** de **Set up later**.

## 2. Ajouter le flow post-achat à son propre placement \{#2-add-the-post-purchase-flow-to-its-own-placement\}

Pour récupérer le flow post-achat depuis votre application, assignez-le à son propre placement. Le placement de votre paywall ne peut pas le servir également — un placement sert un seul flow par audience.

1. [Publiez le flow](builder-save-publish).
2. [Créez un placement de flow](create-placement). Notez le **Placement ID** — votre application l'utilise pour récupérer le flow.
3. Assignez le flow post-achat au nouveau placement.

## 3. Traiter le résultat de l'achat \{#3-branch-on-the-purchase-result\}

Votre application reçoit le résultat de l'achat via deux callbacks :

- **Completion** : L'achat a abouti — il a réussi, l'utilisateur l'a annulé, ou le paiement est en attente de validation (confirmation d'un parent, par exemple). Lisez le type du résultat pour distinguer les trois cas. En cas de succès, le résultat contient l'`AdaptyProfile` mis à jour.
- **Failure** : Une erreur a interrompu l'achat, et le callback contient une `AdaptyError` — restrictions de paiement, produits invalides, erreurs réseau ou échecs de vérification de transaction.

Noms et signatures des callbacks : [iOS](ios-handling-events) | [Android](android-handling-events) | [React Native](react-native-handling-events-1) | [Flutter](flutter-handling-events) | [Unity](unity-handling-events) | [Kotlin Multiplatform](kmp-handling-events) | [Capacitor](capacitor-handling-events)

Adaptez le comportement selon le résultat :

- En cas de succès, fermez le paywall, puis affichez le flow post-achat.
- En cas d'annulation, de paiement en attente ou d'échec, laissez le paywall ouvert.

:::note
Les restaurations s'effectuent via leur propre callback, qui couvre les utilisateurs qui réinstallent l'application ou changent d'appareil. Vérifiez que le profil retourné a votre [niveau d'accès](access-level) actif, puis fermez et présentez un flow de la même façon. Faites pointer ce callback vers un flow distinct — un écran qui remercie l'utilisateur pour un achat ne convient pas à une restauration.
:::

## 4. Charger et afficher le flow post-achat \{#4-load-and-present-the-post-purchase-flow\}

Pour ouvrir le flow post-achat sans délai, récupérez-le en même temps que le paywall, plutôt qu'à l'intérieur du handler. Le SDK télécharge et met en cache les images à l'avance.

Pour préchauffer le cache de plusieurs placements en un seul appel, utilisez [`preloadFlows`](ios-optimize-paywall-fetching#preload-placements) (SDK 4.1+).

Récupérer les flows et paywalls : [iOS](get-pb-paywalls) | [Android](android-get-pb-paywalls) | [React Native](react-native-get-pb-paywalls) | [Flutter](flutter-get-pb-paywalls) | [Unity](unity-get-pb-paywalls) | [Kotlin Multiplatform](kmp-get-pb-paywalls) | [Capacitor](capacitor-get-pb-paywalls)

Afficher les flows et paywalls : [iOS](ios-present-paywalls) | [Android](android-present-paywalls) | [React Native](react-native-present-paywalls) | [Flutter](flutter-present-paywalls) | [Unity](unity-present-paywalls) | [Kotlin Multiplatform](kmp-present-paywalls) | [Capacitor](capacitor-present-paywalls)