Freigeben über


Ändern des Abrechnungszustands eines Abonnements für einen Benutzer

Verwenden Sie diese Methode in der Microsoft Store-Einkaufs-API, um den Abrechnungsstatus eines Abonnement-Add-Ons für einen bestimmten Benutzer zu ändern. Sie können die automatische Verlängerung eines Abonnements kündigen, verlängern, erstatten oder deaktivieren.

Hinweis

Diese Methode kann nur von Entwicklerkonten verwendet werden, die von Microsoft bereitgestellt wurden, um Abonnement-Add-Ons für Universelle Windows-Plattform-Apps (UWP) zu erstellen. Abonnement-Add-Ons sind derzeit für die meisten Entwicklerkonten nicht verfügbar.

Die Microsoft.StoreServices-Bibliothek stellt die Funktionalität dieser Methode über die StoreServicesClient.RecurrenceChangeAysnc-API bereit.

Voraussetzungen

Um diese Methode zu verwenden, benötigen Sie Folgendes:

  • Ein Azure AD-Zugriffstoken mit dem Zielgruppen-URI-Wert https://onestore.microsoft.com.
  • Ein Microsoft Store-ID-Schlüssel, der die Identität des Benutzers darstellt, der über eine Berechtigung für das Abonnement verfügt, das Sie ändern möchten.

Weitere Informationen finden Sie unter Verwalten von Produktberechtigungen aus einem Dienst.

Anfordern

Anforderungssyntax

Methode Anforderungs-URI
POST https://purchase.mp.microsoft.com/v8.0/b2b/recurrences/{recurrenceId}/change

Anforderungsheader

Header Typ Beschreibung
Autorisierung Zeichenfolge Erforderlich. Das Azure AD-Zugriffstoken im Formular Bearer<-Token>.
Host Zeichenfolge Muss auf den Wert purchase.mp.microsoft.com festgelegt werden.
Inhaltslänge Zahl Die Länge des Anforderungstexts.
Content-Type Zeichenfolge Gibt den Anforderungs- und Antworttyp an. Derzeit ist der einzige unterstützte Wert "application/json".

Anforderungsparameter

Name Typ Beschreibung Erforderlich
recurrenceId Zeichenfolge Die ID des Abonnements, das Sie ändern möchten. Rufen Sie zum Abrufen dieser ID die Get-Abonnements für eine Benutzermethode auf, identifizieren Sie den Antworttexteintrag, der das Abonnement-Add-On darstellt, das Sie ändern möchten, und verwenden Sie den Wert des ID-Felds für den Eintrag. Ja

Anforderungstext

Feld Typ Beschreibung Erforderlich
b2bKey Zeichenfolge Der Microsoft Store-ID-Schlüssel , der die Identität des Benutzers darstellt, dessen Abonnement Sie ändern möchten. Ja
changeType Zeichenfolge Eine der folgenden Zeichenfolgen, die den Typ der Änderung identifiziert, die Sie vornehmen möchten:
  • Kündigen: Bricht das Abonnement ab.
  • Erweitern: Erweitert das Abonnement. Wenn Sie diesen Wert angeben, müssen Sie auch den parameter extensionTimeInDays einschließen.
  • Rückerstattung: Erstattet das Abonnement für den Kunden zurück.
  • ToggleAutoRenew: Deaktiviert die automatische Verlängerung für das Abonnement. Wenn die automatische Verlängerung derzeit für das Abonnement deaktiviert ist, führt dieser Wert nichts aus.
Ja
extensionTimeInDays Zeichenfolge Wenn der parameter changeType den Wert Extend aufweist, gibt dieser Parameter die Anzahl der Tage an, die das Abonnement verlängern sollen. Ja, wenn changeType den Wert "Extend" aufweist, andernfalls nein.

Anforderungsbeispiel

Im folgenden Beispiel wird veranschaulicht, wie Sie diese Methode verwenden, um den Abonnementzeitraum um 5 Tage zu verlängern. Ersetzen Sie den b2bKey-Wert durch den Microsoft Store-ID-Schlüssel , der die Identität des Benutzers darstellt, dessen Abonnement Sie ändern möchten.

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"
}

Antwort

Diese Methode gibt einen JSON-Antworttext zurück, der Informationen zum geänderten Abonnement-Add-On enthält, einschließlich aller Felder, die geändert wurden. Im folgenden Beispiel wird ein Antworttext für diese Methode veranschaulicht.

{
  "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"
    }
  ]
}

Antworttext

Der Antworttext enthält die folgenden Daten.

Wert Typ Beschreibung
autoRenew Boolean Gibt an, ob das Abonnement für die automatische Verlängerung am Ende des aktuellen Abonnementzeitraums konfiguriert ist.
Begünstigter Zeichenfolge Die ID des Begünstigten der Berechtigung, die diesem Abonnement zugeordnet ist.
expirationTime Zeichenfolge Das Datum und die Uhrzeit, zu dem das Abonnement abläuft, im ISO 8601-Format. Dieses Feld ist nur verfügbar, wenn sich das Abonnement in bestimmten Zuständen befindet. Die Ablaufzeit gibt in der Regel an, wann der aktuelle Zustand abläuft. Beispielsweise gibt das Ablaufdatum für ein aktives Abonnement an, wann die nächste automatische Verlängerung erfolgt.
expirationTimeWithGrace Zeichenfolge Das Datum und die Uhrzeit, zu dem das Abonnement abläuft, einschließlich des Karenzzeitraums im ISO 8601-Format. Dieser Wert gibt an, wann der Benutzer den Zugriff auf das Abonnement verliert, nachdem das Abonnement nicht automatisch verlängert wurde.
id Zeichenfolge Die ID des Abonnements. Verwenden Sie diesen Wert, um anzugeben, welches Abonnement Sie ändern möchten, wenn Sie den Abrechnungsstatus eines Abonnements für eine Benutzermethode aufrufen.
isTrial Boolean Gibt an, ob das Abonnement eine Testversion ist.
lastModified Zeichenfolge Datum und Uhrzeit der letzten Änderung des Abonnements im ISO 8601-Format.
Markt Zeichenfolge Der Ländercode (im Zwei-Buchstaben-ISO 3166-1-Alpha-2-Format), in dem der Benutzer das Abonnement erworben hat.
productId Zeichenfolge Die Store-ID für das Produkt , das das Abonnement-Add-On im Microsoft Store-Katalog darstellt. Eine Beispiel-Store-ID für ein Produkt ist 9NBLGGH42CFD.
skuId Zeichenfolge Die Store-ID für die SKU , die das Abonnement-Add-On im Microsoft Store-Katalog darstellt. Eine Beispielspeicher-ID für eine SKU ist 0010.
startTime Zeichenfolge Das Startdatum und die Startzeit für das Abonnement im ISO 8601-Format.
recurrenceState Zeichenfolge Einer der folgenden Werte:
  • Keine: Dies gibt ein unbefristetes Abonnement an.
  • Aktiv: Das Abonnement ist aktiv, und der Benutzer ist berechtigt, die Dienste zu nutzen.
  • Inaktiv: Das Abonnement liegt hinter dem Ablaufdatum, und der Benutzer hat die Option für die automatische Verlängerung für das Abonnement deaktiviert.
  • Storniert: Das Abonnement wurde absichtlich vor dem Ablaufdatum mit oder ohne Rückerstattung gekündigt.
  • InDunning: Das Abonnement befindet sich im Dunning (d. a. das Abonnement läuft bald ab, und Microsoft versucht, Guthaben zu erwerben, um das Abonnement automatisch zu verlängern).
  • Fehler: Der Dunningzeitraum ist abgelaufen, und das Abonnement konnte nach mehreren Versuchen nicht verlängert werden.

Hinweis:

  • Inaktiv/abgebrochene/Fehler sind Terminalzustände. Wenn ein Abonnement einen dieser Zustände eingibt, muss der Benutzer das Abonnement erneut erwerben, um es erneut zu aktivieren. Der Nutzer ist nicht berechtigt, die Dienste in diesen Zuständen zu nutzen.
  • Wenn ein Abonnement storniert wird, wird die Ablaufzeit mit dem Datum und der Uhrzeit der Kündigung aktualisiert.
  • Die ID des Abonnements bleibt während der gesamten Lebensdauer gleich. Sie wird nicht geändert, wenn die Option für die automatische Verlängerung aktiviert oder deaktiviert ist. Wenn ein Benutzer ein Abonnement nach Erreichen eines Terminalzustands erneut kauft, wird eine neue Abonnement-ID erstellt.
  • Die ID eines Abonnements sollte zum Ausführen eines Vorgangs für ein einzelnes Abonnement verwendet werden.
  • Wenn ein Benutzer ein Abonnement nach dem Kündigen oder Beenden erneut kauft, erhalten Sie zwei Einträge: eine mit der alten Abonnement-ID in einem Terminalstatus und eine mit der neuen Abonnement-ID in einem aktiven Zustand.
  • Es empfiehlt sich immer, sowohl recurrenceState als auch expirationTime zu überprüfen, da Updates für recurrenceState möglicherweise um ein paar Minuten (oder gelegentlich Stunden) verzögert werden können.
cancellationDate Zeichenfolge Datum und Uhrzeit der Kündigung des Abonnements des Benutzers im ISO 8601-Format.