Изменение состояния выставления счетов за подписку для пользователя
Используйте этот метод в API покупки Microsoft Store, чтобы изменить состояние выставления счетов надстройки подписки для данного пользователя. Вы можете отменить, продлить, вернуть или отключить автоматическое продление подписки.
Примечание.
Этот метод можно использовать только учетными записями разработчиков, подготовленными корпорацией Майкрософт, чтобы создавать надстройки подписки для приложений универсальная платформа Windows (UWP). Надстройки подписки в настоящее время недоступны для большинства учетных записей разработчиков.
Библиотека Microsoft.StoreServices предоставляет функциональные возможности этого метода через API StoreServicesClient.RecurrenceChangeAysnc.
Необходимые компоненты
Чтобы использовать этот метод, вам потребуется:
- Маркер доступа Azure AD, имеющий значение
https://onestore.microsoft.com
URI аудитории. - Ключ идентификатора Microsoft Store, представляющий удостоверение пользователя, имеющего право на подписку, которую вы хотите изменить.
Дополнительные сведения см. в разделе "Управление правами на продукты из службы".
Запросить
Синтаксис запроса
Способ | URI запроса |
---|---|
POST | https://purchase.mp.microsoft.com/v8.0/b2b/recurrences/{recurrenceId}/change |
Заголовок запроса
Верхний колонтитул | Тип | Описание |
---|---|---|
Авторизация | строка | Обязательный. Маркер доступа Azure AD в маркере> носителя<формы. |
Хост | строка | Необходимо задать значение purchase.mp.microsoft.com. |
content-length: 0 | number | Длина текста запроса. |
Тип контента | строка | Указывает тип запроса и ответа. В настоящее время единственным поддерживаемым значением является application/json. |
Параметры запроса
Имя. | Тип | Описание | Обязательное поле |
---|---|---|---|
повторение Идентификатора | строка | Идентификатор подписки, которую вы хотите изменить. Чтобы получить этот идентификатор, вызовите подписки для пользовательского метода, определите запись текста ответа, представляющую надстройку подписки, которую вы хотите изменить, и используйте значение поля идентификатора для записи. | Да |
Текст запроса
Поле | Тип | Описание | Обязательное поле |
---|---|---|---|
b2bKey | строка | Ключ идентификатора Microsoft Store, представляющий удостоверение пользователя, подписка которого требуется изменить. | Да |
changeType | строка | Одна из следующих строк, идентифицирующая тип изменения, которое вы хотите сделать:
|
Да |
extensionTimeInDays | строка | Если параметр changeType имеет значение Extend, этот параметр указывает количество дней для расширения подписки. | Да, если changeType имеет значение Extend; в противном случае — нет. |
Пример запроса
В следующем примере показано, как использовать этот метод для продления срока подписки на 5 дней. Замените значение b2bKey ключом идентификатора Microsoft Store, который представляет удостоверение пользователя, подписка которого требуется изменить.
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"
}
Response
Этот метод возвращает текст ответа JSON, содержащий сведения о надстройке подписки, которая была изменена, включая все измененные поля. В следующем примере показан текст ответа для этого метода.
{
"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"
}
]
}
Текст ответа
Текст ответа содержит следующие данные.
Значение | Тип | Описание |
---|---|---|
autoRenew | Логический | Указывает, настроена ли подписка на автоматическое продление в конце текущего периода подписки. |
бенефициар | строка | Идентификатор бенефициара права, связанного с этой подпиской. |
expirationTime; | строка | Дата и время истечения срока действия подписки в формате ISO 8601. Это поле доступно только в тех случаях, когда подписка находится в определенных состояниях. Срок действия обычно указывает, когда истекает текущее состояние. Например, для активной подписки срок действия указывает, когда будет происходить следующее автоматическое продление. |
dateTimeWithGrace | строка | Дата и время истечения срока действия подписки, включая льготный период, в формате ISO 8601. Это значение указывает, когда пользователь потеряет доступ к подписке после автоматического продления подписки. |
id | строка | Идентификатор подписки. Используйте это значение, чтобы указать, какая подписка требуется изменить при вызове изменения состояния выставления счетов подписки для пользовательского метода. |
isTrial | Логический | Указывает, является ли подписка пробной. |
lastModified | строка | Дата и время последнего изменения подписки в формате ISO 8601. |
на рынок | строка | Код страны (в двухбуквном формате ISO 3166-1 alpha-2), в котором пользователь приобрел подписку. |
productId | строка | Идентификатор Магазина для продукта, представляющего надстройку подписки в каталоге Microsoft Store. Пример идентификатора магазина для продукта — 9NBLGGH42CFD. |
skuId | строка | Идентификатор магазина для SKU, представляющего надстройку подписки в каталоге Microsoft Store. Пример идентификатора магазина для номера SKU — 0010. |
startTime | строка | Дата начала и время подписки в формате ISO 8601. |
recurrenceState | строка | Одно из следующих значений:
Примечание.
|
отмена | строка | Дата и время отмены подписки пользователя в формате ISO 8601. |