> ## 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.

# XStore commerce overview

> Learn how XStore APIs, Partner Center, and Microsoft Store REST services fit together for XBOX and PC commerce, base games, DLC, and more.

The **XStore** APIs are the runtime side of Microsoft Store commerce for XBOX and PC titles built on the GDK. Together with Partner Center (where you model your products) and the Microsoft Store service-to-service (S2S) REST APIs (where your backend queries and grants entitlements), they give you a complete commerce platform for base games, DLC, trials, consumables, subscriptions, and bundles.

This section mirrors the topic layout on Microsoft Learn and covers everything you need to design, integrate, test, and operate Store commerce for your title.

<Info>
  Looking for the **Microsoft Store service-to-service REST reference** (collections, purchase, clawback, grant, recurrences)? It lives in the **API** tab under [Microsoft Store REST APIs](/reference/microsoft-store-apis/index).
</Info>

## In this section

<CardGroup cols={2}>
  <Card title="Getting started" icon="rocket" href="/publishing/xstore-commerce/xstore-initial-configuration">
    Overview, product types, Partner Center setup, testing, licensing, and troubleshooting.
  </Card>

  <Card title="Fundamentals" icon="cube" href="/publishing/xstore-commerce/xstore-basic-operations">
    Basic store operations, DLC, trials, consumables, bundles, DWOB, and updates.
  </Card>

  <Card title="Manage from your services" icon="network-wired" href="/publishing/xstore-commerce/xstore-authenticating-service">
    Authenticate services, query entitlements, subscriptions, refunds, and User Store IDs.
  </Card>

  <Card title="PC-specific considerations" icon="windows" href="/publishing/xstore-commerce/xstore-pc">
    DRM, license tokens, mismatched-store-account handling, and sandbox switching.
  </Card>

  <Card title="Microsoft Store REST APIs" icon="code" href="/reference/microsoft-store-apis/index">
    Reference for the v8/v9 collections, purchase, clawback, grant, and recurrences endpoints. Full reference now lives in the **API** tab under [Microsoft Store REST APIs](/reference/microsoft-store-apis/index).
  </Card>

  <Card title="Franchise game hubs" icon="sitemap" href="/publishing/game-publishing/concepts/game-publisher-insights/game-publisher-insights-faq">
    Group multiple products under a single Store franchise hub.
  </Card>
</CardGroup>

## Big picture: how the pieces connect

* **Partner Center** — where you create products (base games, add-ons, bundles, season passes, subscriptions, consumables), define pricing and availability, and assign identifiers (**StoreId**, **Product ID**, **BigId**, **SKU ID**).
* **`MicrosoftGame.config`** — ships inside your title package and binds the running executable to the Store product via `TitleId`, `StoreId`, and `MSAAppId`.
* **XStore runtime APIs (`XStore*`)** — client-side calls made from your game to enumerate products, query licenses and entitlements, show purchase UI, and report consumable fulfillment.
* **XPackage APIs (`XPackage*`)** — mount and license optional packages (DLC), install chunks, and observe package state changes.
* **Microsoft Store S2S REST APIs** — server-side endpoints your backend calls to authoritatively query entitlements, fulfill consumables, grant products, look up subscriptions, and process refunds/clawbacks.
* **User Store ID (UserStoreId)** — a short-lived key your title obtains via `XUserGetTokenAndSignatureAsync` (or `XStoreGetUserCollectionsIdAsync` / `XStoreGetUserPurchaseIdAsync`) and hands to your service so the service can call the Store on behalf of that user.

## Client versus service

Almost every Store scenario has both a **client-side** (XStore) and a **service-side** (S2S REST) path. Use the client for real-time UX (show the buy button, unlock content, report a consumable spend); use the service when authority matters (fulfilling a virtual-currency spend that must survive title reinstalls, granting a promo item, detecting Game Pass, processing a refund).

A reliable pattern:

1. Client detects the purchase or spend and shows immediate UX.
2. Client sends a UserStoreId to your service.
3. Service calls the Store S2S API to confirm the entitlement or fulfill the consumable and updates your database of record.

## Where to go next

If you are new to XStore, start with [GDK Commerce Systems Overview](/publishing/xstore-commerce/xstore-overview) and then [Choosing the right product type](/publishing/xstore-commerce/xstore-choosing-product-type).


## Related topics

- [XStore](/reference/system/xstore/xstore_members.md)
- [GDK Commerce Systems Overview](/publishing/xstore-commerce/xstore-overview.md)
- [Troubleshooting XStore development](/publishing/xstore-commerce/xstore-troubleshooting.md)
- [Enabling XStore development and testing](/publishing/xstore-commerce/xstore-product-testing-setup.md)
- [Basic store operations](/publishing/xstore-commerce/xstore-basic-operations.md)
