Cambiar el estado de facturación de la suscripción de un usuario
Usa este método en la API de compra de Microsoft Store para cambiar el estado de facturación de un complemento de suscripción para un usuario determinado. Puede cancelar, ampliar, reembolsar o deshabilitar la renovación automática de una suscripción.
Nota:
Microsoft solo puede usar este método para las cuentas de desarrollador aprovisionadas por Microsoft para poder crear complementos de suscripción para aplicaciones de Plataforma universal de Windows (UWP). Los complementos de suscripción no están disponibles actualmente para la mayoría de las cuentas de desarrollador.
La biblioteca Microsoft.StoreServices proporciona la funcionalidad de este método a través de la API StoreServicesClient.RecurrenceChangeAysnc.
Requisitos previos
Para usar este método, necesitará:
- Un token de acceso de Azure AD que tiene el valor
https://onestore.microsoft.com
de URI de audiencia . - Clave de identificador de Microsoft Store que representa la identidad del usuario que tiene derecho a la suscripción que desea cambiar.
Para obtener más información, consulte Administración de derechos de producto desde un servicio.
Solicitar
Sintaxis de la solicitud
Método | URI de solicitud |
---|---|
POST | https://purchase.mp.microsoft.com/v8.0/b2b/recurrences/{recurrenceId}/change |
Encabezado de solicitud
Encabezado | Tipo | Descripción |
---|---|---|
Autorización | string | Necesario. Token de acceso de Azure AD con el formato Token<de portador>. |
Host | string | Debe establecerse en el valor purchase.mp.microsoft.com. |
Content-Length | number | Este encabezado especifica la longitud del cuerpo de la solicitud. |
Content-Type | string | Especifica el tipo de solicitud y respuesta. Actualmente, el único valor admitido es application/json. |
Parámetros de solicitud
Nombre | Escribir | Descripción | Obligatorio |
---|---|---|---|
recurrenceId | string | Identificador de la suscripción que desea cambiar. Para obtener este identificador, llame a las suscripciones get para un método de usuario , identifique la entrada del cuerpo de la respuesta que representa el complemento de suscripción que desea cambiar y use el valor del campo id para la entrada. | Sí |
Cuerpo de la solicitud
Campo | Tipo | Descripción | Obligatorio |
---|---|---|---|
b2bKey | string | Clave de identificador de Microsoft Store que representa la identidad del usuario cuya suscripción desea cambiar. | Sí |
changeType | string | Una de las siguientes cadenas que identifica el tipo de cambio que desea realizar:
|
Sí |
extensionTimeInDays | string | Si el parámetro changeType tiene el valor Extend, este parámetro especifica el número de días para extender la suscripción. | Sí, si changeType tiene el valor Extend; de lo contrario, no. |
Ejemplo de solicitud
En el ejemplo siguiente se muestra cómo usar este método para ampliar el período de suscripción en 5 días. Reemplace el valor b2bKey por la clave de identificador de Microsoft Store que representa la identidad del usuario cuya suscripción desea cambiar.
POST https://purchase.mp.microsoft.com/v8.0/b2b/recurrences/mdr:0:bc0cb6960acd4515a0e1d638192d77b7:77d5ebee-0310-4d23-b204-83e8613baaac/change HTTP/1.1
Authorization: Bearer <your access token>
Content-Type: application/json
Host: https://purchase.mp.microsoft.com
{
"b2bKey": "eyJ0eXAiOiJ...",
"changeType": "Extend",
"extensionTimeInDays": "5"
}
Respuesta
Este método devuelve un cuerpo de respuesta JSON que contiene información sobre el complemento de suscripción que se modificó, incluidos los campos modificados. En el ejemplo siguiente se muestra un cuerpo de respuesta para este método.
{
"items": [
{
"autoRenew":true,
"beneficiary":"pub:gFVuEBiZHPXonkYvtdOi+tLE2h4g2Ss0ZId0RQOwzDg=",
"expirationTime":"2017-06-16T03:07:49.2552941+00:00",
"id":"mdr:0:bc0cb6960acd4515a0e1d638192d77b7:77d5ebee-0310-4d23-b204-83e8613baaac",
"lastModified":"2017-01-10T21:08:13.1459644+00:00",
"market":"US",
"productId":"9NBLGGH52Q8X",
"skuId":"0024",
"startTime":"2017-01-10T21:07:49.2552941+00:00",
"recurrenceState":"Active"
}
]
}
Cuerpo de la respuesta
El cuerpo de la respuesta contiene los datos siguientes.
Valor | Tipo | Descripción |
---|---|---|
autoRenew | Booleano | Indica si la suscripción está configurada para renovarse automáticamente al final del período de suscripción actual. |
beneficiario | string | Identificador del beneficiario del derecho asociado a esta suscripción. |
expirationTime | string | La fecha y hora en que expirará la suscripción, en formato ISO 8601. Este campo solo está disponible cuando la suscripción está en determinados estados. La hora de expiración suele indicar cuándo expira el estado actual. Por ejemplo, para una suscripción activa, la fecha de expiración indica cuándo se producirá la siguiente renovación automática. |
expirationTimeWithGrace | string | La fecha y hora en que expirará la suscripción, incluido el período de gracia, en formato ISO 8601. Este valor indica cuándo el usuario perderá el acceso a la suscripción después de que la suscripción no se haya renovado automáticamente. |
id | string | Identificador de la suscripción. Use este valor para indicar qué suscripción desea modificar al llamar al cambio del estado de facturación de una suscripción para un método de usuario . |
isTrial | Booleano | Indica si la suscripción es una prueba. |
lastModified | string | Fecha y hora en que se modificó la suscripción por última vez, en formato ISO 8601. |
market | string | Código de país (en formato ISO 3166-1 alfa-2 de dos letras) en el que el usuario adquirió la suscripción. |
productId | string | Identificador de la Tienda del producto que representa el complemento de suscripción en el catálogo de Microsoft Store. Un ejemplo de Id. de la Tienda para un producto es 9NBLGGH42CFD. |
skuId | string | Identificador de la Tienda para la SKU que representa el complemento de suscripción en el catálogo de Microsoft Store. Un id. de tienda de ejemplo para una SKU es 0010. |
startTime | string | Fecha y hora de inicio de la suscripción, en formato ISO 8601. |
recurrenceState | string | Uno de los siguientes valores:
Nota:
|
cancellationDate | string | Fecha y hora en que se canceló la suscripción del usuario, en formato ISO 8601. |