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

# Control de escenarios de cuentas de la Store no coincidentes en PC

> Controle los escenarios de cuentas de Microsoft Store y XBOX no coincidentes en PC, para que los jugadores sigan recibiendo las compras cuando las cuentas difieren entre aplicaciones.

El `XStoreContext` en los títulos para PC en producción está vinculado a la cuenta de Microsoft (MSA) que ha iniciado sesión actualmente en la aplicación Microsoft Store. Por lo tanto, todos los resultados de las API de XStore tienen como ámbito esa cuenta de Microsoft específica. Esta cuenta puede cerrar sesión o cambiarse por otra cuenta en cualquier momento sin previo aviso. Además, la cuenta de Microsoft Store se puede cambiar desde la aplicación XBOX según la configuración del usuario.

Del mismo modo, la cuenta de servicios de XBOX se puede cambiar con el flujo de inicio de sesión dentro del juego para crear una discrepancia de cuentas entre las aplicaciones de XBOX y Microsoft Store. El estado de cuentas no coincidentes puede ser intencionado en escenarios de familia o de PC compartido.

No controlar los escenarios de cuentas cambiadas o no coincidentes entre la cuenta que juega y la cuenta con sesión iniciada en Microsoft Store puede provocar frustración en el usuario. Por ejemplo, usuarios que no reciben artículos del juego después de realizar una compra.

En el siguiente artículo se describe cómo planificar, controlar y mitigar los casos en los que hay una discrepancia de cuentas en el PC.

<Note>
  Los escenarios descritos no son un problema en la consola XBOX.
</Note>

El `XStoreContext` siempre está vinculado a la cuenta `XUser` desde la que creó el contexto. Por lo tanto, las API de XStore y las transacciones siempre están vinculadas al objeto `XUser` activo en el juego.

<Note>
  Realizar pruebas en un sandbox de desarrollador requiere que las cuentas de XBOX y de la Windows Store estén sincronizadas. Dado que la cuenta de Microsoft Store no se usa al ejecutar en el sandbox, los escenarios de cuentas no coincidentes solo se pueden probar en el entorno de producción / RETAIL. Para obtener más información, consulte [Pruebas de escenarios de cuentas no coincidentes](#testing-mismatched-account-scenarios).
</Note>

## Guía general

Los juegos que no están habilitados para los servicios de XBOX (es decir, que usan una cuenta de servicios de XBOX para representar al usuario que juega) deben planificar y comprender que la cuenta de compra (la MSA con sesión iniciada en Microsoft Store) puede cambiar en cualquier momento. Por lo tanto, cuando se compran productos consumibles dentro del juego, el juego debe iniciar inmediatamente el flujo de comercio para consultar los consumibles comprados y completar (consumir) el artículo. Después, el juego o un servicio del título actualiza y realiza el seguimiento del saldo del consumible para ese usuario. Es similar a los escenarios de comercio de juegos móviles, donde la cuenta principal del dispositivo es la que paga, pero la cuenta del juego, sea cual sea, recibe el crédito dentro del juego por la compra.

Para obtener más orientación, consulte [Administración de productos consumibles desde el servicio](/publishing/xstore-commerce/xstore-managing-consumables).

Los juegos que admiten los servicios de XBOX deben decidir en las primeras fases del diseño si van a admitir o no los escenarios de cuentas (MSA) no coincidentes. Si su servicio no admite cuentas no coincidentes, debe obligar al usuario a sincronizar las cuentas para habilitar la compra dentro del juego y el uso del contenido. Los datos notificados desde Windows indican que entre el 10 y el 15 % de los usuarios de los servicios de XBOX tienen una MSA con sesión iniciada en la aplicación Microsoft Store distinta de la de los servicios de XBOX en una sesión de Windows. Por lo tanto, se recomienda admitir el escenario de cuentas no coincidentes para este grupo de usuarios. Sin embargo, si el sistema de comercio del juego está construido en torno a la suposición de que la cuenta de servicios de XBOX es también la cuenta de compra, hay pasos para comprobar que las cuentas MSA están sincronizadas entre los servicios de XBOX y Microsoft Store. Un ejemplo de juego que querría asegurarse de que las cuentas están sincronizadas es un juego que admite tanto la versión para consola XBOX como para PC con Windows usando los mismos servicios de juego. Del mismo modo, un juego publicado originalmente en XBOX y portado al PC podría estar diseñado en torno a que la cuenta que juega y la identidad de comercio sean la misma. Las implicaciones y problemas específicos relacionados con el control de cuentas no coincidentes dentro de su juego habilitado para los servicios de XBOX se describen en las secciones siguientes.

### Escenario de ejemplo

Su cuenta de Microsoft (MSA) ha iniciado sesión en el PC con Windows y también en la aplicación Microsoft Store. Compra un juego habilitado para los servicios de XBOX a través de Microsoft Store (o lo descarga a través de PC Game Pass) e instala el juego. Al iniciar el juego, selecciona su cuenta de servicios de XBOX, que tiene las mismas credenciales (MSA) que la cuenta con sesión iniciada en Microsoft Store. Cuando compra un consumible dentro del juego, se realiza el cargo en su cuenta y se le acredita la cantidad de consumible esperada en los servicios de Microsoft Store. El juego o los servicios back-end del juego consultan sus derechos, ven el consumible, lo completan y conceden el producto o el valor a su cuenta dentro del juego.

Más tarde, su hijo también quiere jugar al juego e inicia sesión en los servicios de XBOX dentro del juego con su propia cuenta de Microsoft. La aplicación Microsoft Store todavía tiene su cuenta de Microsoft con sesión iniciada. El niño inicia una compra en el juego del mismo consumible que usted compró anteriormente. De nuevo, se realiza el cargo y el abono en su cuenta de Microsoft en la Microsoft Store. El juego o los servicios back-end consultan los nuevos derechos basándose en el `XStoreContext` y ven el consumible en los resultados de la Store de su cuenta. El juego o el servicio back-end completa el consumible y concede el producto al jugador activo, que en este caso es ahora la cuenta de su hijo.

El resultado final es que se realiza el cargo en su cuenta, pero el juego otorga el producto o el valor dentro del juego a la cuenta de su hijo en lugar de a la suya.

## Problemas de servidor a servidor con tokens X

Los títulos que usan los servicios de XBOX pueden usar tokens X para realizar llamadas en nombre del usuario que juega desde sus servicios back-end. En particular, para consultar los productos que posee el usuario y [seguir los procedimientos recomendados para implementar un sistema de comercio de consumibles](/publishing/xstore-commerce/xstore-managing-consumables) dentro del juego. Sin embargo, los tokens X de autenticación delegada están vinculados a la cuenta de usuario de servicios de XBOX que está jugando. Por lo tanto, el uso de tokens X para llamadas de servidor a servidor a las API de Microsoft Store no permite controlar el escenario de cuentas no coincidentes descrito anteriormente. Los resultados de la consulta solo devuelven lo que la MSA de la cuenta de servicios de XBOX compra cuando ha iniciado sesión en Microsoft Store.

## Autenticación de servidor a servidor con User Store IDs

Para controlar los escenarios de cuentas no coincidentes, las llamadas de servicio a servicio a las API de Microsoft Store deben usar el [User Store ID](/publishing/xstore-commerce/xstore-authenticating-service#authenticating-with-microsoft-entra-id-and-user-store-ids) para la autenticación. Un User Store ID es un token seguro obtenido desde el cliente que representa la identidad de la cuenta con sesión iniciada en Microsoft Store en ese momento. El User Store ID se usa después en el flujo de autenticación con las API de Microsoft Store en nombre del usuario representado en el User Store ID.

Para obtener más información, consulte [Autenticación con Microsoft Entra ID y User Store IDs](/publishing/xstore-commerce/xstore-authenticating-service#authenticating-with-microsoft-entra-id-and-user-store-ids)

## Recomendaciones cuando se requieren cuentas sincronizadas para el comercio dentro del juego

Aunque se recomienda que los títulos habilitados para los servicios de XBOX admitan los escenarios de cuentas no coincidentes, no es obligatorio. El título en ejecución puede realizar una comprobación de validación para saber si la cuenta de servicios de XBOX que juega coincide con la misma MSA con sesión iniciada en Microsoft Store, lo que permite al título bloquear las transacciones y compras dentro del juego cuando no son la misma. De este modo, los servicios del juego solo actúan sobre los artículos que la cuenta de servicios de XBOX posee directamente y los consumen mediante las llamadas de servicio a servicio. Los juegos pueden comprobar si las cuentas no coinciden usando la función [XUserIsStoreUser](/reference/system/xstore/xstore_members).

Si decide exigir al usuario que sincronice las cuentas con sesión iniciada en los servicios de XBOX y en Microsoft Store, su título debe proporcionar una interfaz de usuario y orientación para que el usuario entienda cuándo sus cuentas no son la misma y cómo resolver el problema.

Elementos de interfaz de usuario recomendados:

* Notifique al usuario pronto en la interfaz de usuario del juego que la cuenta con sesión iniciada en Microsoft Store es diferente de la cuenta de servicios de XBOX que juega.
* Explique que los complementos o el contenido comprados para el juego no funcionarán a menos que la cuenta con sesión iniciada en Microsoft Store sea la misma que su cuenta de servicios de XBOX.
* Indique que la tienda dentro del juego no permitirá compras a menos que las cuentas sean la misma.
* Proporcione orientación para ir a la aplicación Microsoft Store e iniciar sesión con la misma cuenta usada para los servicios de XBOX.
* Proporcione orientación para ir a la aplicación XBOX y establecer la preferencia para que su cuenta de servicios de XBOX inicie sesión en Microsoft Store automáticamente.

## Pruebas de escenarios de cuentas no coincidentes

Como se indicó anteriormente, los escenarios de cuentas no coincidentes no son efectivos ni comprobables en los sandboxes de desarrollo. Esto se debe a que la identidad y los resultados de las API de la Store están vinculados a la cuenta con sesión iniciada en la aplicación XBOX en PC en los sandboxes de desarrollo. Por lo tanto, solo puede probar o verificar los escenarios de cuentas no coincidentes en el entorno de producción / RETAIL. Para probar estos escenarios, debe configurar un grupo de versiones de prueba (flight) privado en Partner Center con sus cuentas de prueba para el entorno RETAIL. Después, puede publicar su título o título de prueba en RETAIL, donde solo las cuentas del grupo de versiones de prueba pueden verlo. Esto le permite probar escenarios con diferentes cuentas con sesión iniciada en el juego, la aplicación XBOX y la aplicación Microsoft Store.

## Documentación de referencia de la API

* [XStore (contenido de la API)](/reference/system/xstore/xstore_members)
* [xuser (contenido de la API)](/reference/system/xstore/xstore_members)
  * Funciones
    * [XUserIsStoreUser](/reference/system/xstore/xstore_members)

## Consulte también

[Información general sobre comercio](/publishing/xstore-commerce/xstore-commerce-overview)

[Administración de productos desde sus servicios](/publishing/xstore-commerce/xstore-authenticating-service)

[Referencia de la API de XStore](/reference/system/xstore/xstore_members)


## Related topics

- [Autenticación de su servicio con las API de Microsoft Store](/es/publishing/xstore-commerce/xstore-authenticating-service.md)
- [Modelo de uso compartido de productos para juegos](/es/publishing/xstore-commerce/xstore-product-sharing.md)
- [Habilitación del desarrollo y las pruebas de XStore](/es/publishing/xstore-commerce/xstore-product-testing-setup.md)
- [XStore en PC: DRM, tokens de licencia y sandboxes](/es/publishing/xstore-commerce/xstore-pc.md)
- [Concesión de acceso a los jugadores al contenido de complemento](/es/publishing/xstore-commerce/xstore-granting-access.md)
