> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XStoreShowPurchaseUIAsync

> XStoreShowPurchaseUIAsync

# XStoreShowPurchaseUIAsync

Lance la superposition de l'interface utilisateur d'achat pour le produit spécifié.

## Syntaxe

```cpp theme={null}
HRESULT XStoreShowPurchaseUIAsync(  
         const XStoreContextHandle storeContextHandle,  
         const char* storeId,  
         const char* name,  
         const char* extendedJsonData,  
         XAsyncBlock* async  
)  
```

### Paramètres

*storeContextHandle*   \_In\_\
Type : XStoreContextHandle

Handle de contexte du Store pour l'utilisateur, retourné par [XStoreCreateContext](/fr/reference/system/xstore/functions/xstorecreatecontext).

*storeId*   \_In\_z\_\
Type : char\*

ID du produit à acheter.

*name*   \_In\_opt\_z\_\
Type : char\*

Nom du produit à acheter.

*extendedJsonData*   \_In\_opt\_z\_\
Type : char\*

Blob JSON transmis au flux d'achat. Permet d'insérer des ID de campagne personnalisés afin de suivre l'origine de l'achat.

*async*   \_Inout\_\
Type : [XAsyncBlock\*](/fr/reference/system/xasync/structs/xasyncblock)

Un [XAsyncBlock](/fr/reference/system/xasync/structs/xasyncblock) définissant le travail asynchrone en cours. Le [XAsyncBlock](/fr/reference/system/xasync/structs/xasyncblock) peut être utilisé pour interroger l'état de l'appel et récupérer ses résultats. Pour plus d'informations, consultez [XAsyncBlock](/fr/reference/system/xasync/structs/xasyncblock).

### Valeur de retour

Type : HRESULT

Code de réussite ou d'erreur HRESULT.

## Remarques

> !\[NOTE] Cette opération ne déclenche pas le téléchargement ni l'installation des éléments après un achat attendu. Si vous souhaitez télécharger et installer ce contenu, il est recommandé d'appeler [XStoreDownloadAndInstallPackagesAsync](/fr/reference/system/xstore/functions/xstoredownloadandinstallpackagesasync) après un achat réussi. Aucune invite supplémentaire ne sera présentée à l'utilisateur.

> !\[NOTE] Sur PC, la boîte de dialogue de confirmation d'achat qui s'affiche après un achat réussi comporte un bouton de fermeture \[X] en haut. Sélectionner ce bouton au lieu de Ok entraîne le retour de E\_ABORT à `XStoreShowPurchaseUIResult`, ce qui n'est pas forcément souhaité. Il s'agit du comportement standard de Windows lorsqu'une boîte de dialogue est fermée de cette manière.

Pour récupérer le résultat de cette fonction, appelez [XStoreShowPurchaseUIResult](/fr/reference/system/xstore/functions/xstoreshowpurchaseuiresult) après avoir appelé cette fonction. Cette fonction ne doit être appelée que lorsque l'utilisateur a choisi d'acheter quelque chose ; elle amène le système à présenter une boîte de dialogue d'achat modale qui gère les informations de paiement et la confirmation de l'utilisateur hors processus.

L'extrait de code suivant montre un exemple de demande d'achat pour un produit particulier du Store.

```cpp theme={null}
void CALLBACK ShowPurchaseUICallback(XAsyncBlock* asyncBlock)
{
    HRESULT hr = XStoreShowPurchaseUIResult(asyncBlock);

    if (FAILED(hr))
    {
        printf("Failed the purchase: 0x%x\r\n", hr);
        return;
    }
}

void ShowPurchaseUI(XStoreContextHandle storeContextHandle, XTaskQueueHandle taskQueueHandle, const char* storeId)
{
    auto asyncBlock = std::make_unique<XAsyncBlock>();
    ZeroMemory(asyncBlock.get(), sizeof(*asyncBlock));
    asyncBlock->queue = taskQueueHandle;
    asyncBlock->callback = ShowPurchaseUICallback;

    HRESULT hr = XStoreShowPurchaseUIAsync(
        storeContextHandle,
        storeId,
        nullptr,    // Can be used to override the title bar text
        nullptr,    // Can be used to provide extra details to purchase
        asyncBlock.get());

    if (FAILED(hr))
    {
        printf("Failed to purchase: 0x%x\r\n", hr);
        return;
    }
}
```

## Configuration requise

**En-tête :** XStore.h (inclus dans XGameRuntime.h)

**Bibliothèque :** xgameruntime.lib

**Plateformes prises en charge :** Windows, consoles de la famille XBOX One et consoles XBOX Series

## Documentation conceptuelle

* [Implémenter des achats dans le jeu](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/pc-dev/tutorials/pc-e2e-guide/e2e-services/e2e-in-game-purchases)
* [Opérations de base du Store](/fr/publishing/xstore-commerce/xstore-basic-operations)
* [Gérer et concéder sous licence du contenu téléchargeable (DLC)](/fr/publishing/xstore-commerce/xstore-dlc)
* [Résolution des problèmes de développement XStore](/fr/publishing/xstore-commerce/xstore-troubleshooting)

## Voir aussi

[XStore](/fr/reference/system/xstore/xstore_members)\
[XStoreShowPurchaseUIResult](/fr/reference/system/xstore/functions/xstoreshowpurchaseuiresult)


## Related topics

- [XStoreShowPurchaseUIAsync](/ja-jp/reference/system/xstore/functions/xstoreshowpurchaseuiasync.md)
- [XStoreShowPurchaseUIResult](/reference/system/xstore/functions/xstoreshowpurchaseuiresult.md)
