So erlauben Sie einem Benutzer, das Abo-Modell zu wechseln

Hinweis
Wenn Sie Benutzern erlauben möchten, das Abo-Modell in Ihrem Projekt zu wechseln, müssen Sie das Zahlungsportal entsprechend einrichten. Wenden Sie sich dazu an Ihren Customer Success Manager oder senden Sie eine E-Mail an csm@xsolla.com.
Sie können den Benutzern erlauben, das Abo-Modell im aktuellen Abrechnungszeitraum oder zu Beginn des nächsten Abrechnungszeitraums zu wechseln. Ebenso können Sie den Benutzern erlauben, das Abo-Modell mehrmals täglich zu wechseln.

So funktioniert's

  • Entscheidet sich der Benutzer für ein neues Abo-Modell, wird ihm das Geld für den ungenutzten Zeitraum des aktuellen Abonnements als Guthaben erstattet.
  • Die Zahlung für das neue Abo-Modell erfolgt vollständig aus dem Guthaben des Benutzers. Falls das Guthaben nicht ausreicht, wird der Differenzbetrag über eine der im Projekt zulässigen Zahlungsmethoden abgebucht.
  • Wechselt der Benutzer das Abo-Modell, wird das Geld sofort nach der Zahlungsbestätigung abgebucht, selbst wenn im Projekt festgelegt ist, dass der Wechsel zum neuem Abo-Modell zu Beginn des nächsten Abrechnungszeitraums erfolgt.
  • Wenn sich die Währung des neuen Abo-Modells von der Währung des aktuellen Abo-Modells unterscheidet, wird die Währung bei der Bezahlung des neuen Abo-Modells umgerechnet.

Das Abo-Modell zu wechseln ist nicht möglich, wenn:
  • der Benutzer bereits ein aktives Abonnement für das Abo-Modell abgeschlossen hat, zu dem er wechseln möchte
  • das zu ändernde Abonnement nicht den Status Aktiv aufweist
  • das zu ändernde Abonnement vom Typ Lebenslanges Abo-Modell ist; ein solches Abonnement kann nur innerhalb der angegebenen Erstattungsfrist gekündigt werden
Hinweis
Sind Gruppen von Abo-Modellen in Ihrem Projekt konfiguriert, kann der Benutzer nur zu einem Abo-Modell innerhalb der Gruppe wechseln. Wie Gruppen funktionieren, erfahren Sie in der Anleitung: So konfigurieren Sie Gruppen von abonnementbasierten Produkten und Abo-Modellen.

Wie komme ich dazu

  1. Öffnen Sie Ihr Projekt im Kundenportal.
  2. Klicken Sie in der Seitenleiste auf Subscriptions, und wechseln Sie zur Registerkarte Einstellungen.
  3. Stellen Sie im Abschnitt Ändern des Abo-Modells den Schalter Möglichkeit, ein anderes Abo-Modell zu wählen auf Ein.
  4. Standardmäßig erfolgt der Wechsel zum neuen Abo-Modell zu Beginn des nächsten Abrechnungszeitraums. Um einen Wechsel des Abo-Modells im aktuellen Abrechnungszeitraum zuzulassen, wählen Sie Jetzt aus. Ist diese Option ausgewählt, wird das Abo-Modell sofort nach der Bestätigung der Zahlung gewechselt.
  5. Stellen Sie den Schalter Möglichkeit, mehrmals am selben Tag ein anderes Abo-Modell zu wählen auf Ein, um Benutzern zu erlauben, das Abo-Modell mehrmals täglich zu wechseln.
  6. Nutzen Sie zum Öffnen des Zahlungsportals den:

Zahlungsportal mit dem serverseitigen API-Aufruf "Token erstellen" öffnen

  1. Zum Öffnen des Zahlungsportals müssen Sie einen Token abrufen, indem Sie der Methode Folgendes übermitteln:
    • den Wert change_plan im Parameter purchase.subscription.operation.
    • ID des neuen Abo-Modells im Parameter purchase.subscription.plan_id.
    • sofern Sie abonnementbasierte Produkte nutzen, die ID des abonnementbasierten Produkts im Parameter purchase.subscription.product_id. Kontaktieren Sie dafür Ihren Customer Success Manager oder senden Sie eine E-Mail an csm@xsolla.com.
  2. Öffnen Sie das Zahlungsportal auf einen der folgenden Wege:

Abonnementverwaltungsseite des Zahlungsportals mit dem clientseitigen API-Aufruf öffnen

Sofern Xsolla Login in Ihrem Projekt konfiguriert ist, können Sie mithilfe des clientseitigen API-Aufrufs einen Link zum Öffnen des Zahlungsportals abrufen. Der in der Antwort zurückgegebene Link ermöglicht es Ihnen, die Abonnementverwaltungsseite des Zahlungsportals zu öffnen, auf der Benutzer ein aktives Abonnement auswählen und es ändern können.

Implementieren Sie dazu aufseiten des Anwendungs-Clients den Abruf eines Links, der zum Zahlungsportal weiterleitet, mit einer HTTP-POST-Anfrage: https://subscriptions.xsolla.com​/api/user/v1/projects/{project_id}/subscriptions/manage. Die Anfrage muss den Header Authorization: Bearer <client_user_jwt> enthalten, wobei <client_user_jwt> der JSON Web Token (JWT) des Benutzer ist – ein eindeutiger, nach dem Base64-Xsolla-Standard kodierter Token. So rufen Sie den Token ab:

  • Nutzen Sie die API-Aufrufe Register new user und Auth by username, sofern die Autorisierung bei Ihrer Anwendung über Benutzername und Passwort erfolgt.
  • Nutzen Sie den API-Aufruf Auth via social network, sofern die Autorisierung bei Ihrer Anwendung über ein soziales Netzwerk erfolgt.
Geben Sie die Projekt-ID als Pfadparameter projectId an. Sie finden diesen Parameter im Kundenportal neben dem Projektnamen. Legen Sie country als Abfrageparameter fest – die aus zwei Buchstaben bestehende Bezeichnung des Landes des Nutzers nach der Norm ISO 3166-1 Alpha-2. Beeinflusst die Wahl des Gebietsschemas und der Währung. Wird dieser Parameter nicht übermittelt, wird das Land des Benutzers anhand seiner IP-Adresse ermittelt.

Übermitteln Sie bei Bedarf zusätzliche Parameter für die Anpassung.

Parameter im Anfragerumpf:

ParameterTypBeschreibung
plan_external_id
stringErforderlich. Die external ID des Abo-Modells. Diese finden Sie im Kundenportal unter Subscriptions > Abo-Modelle.
settings
objectBenutzerdefinierte Projekteinstellungen (Objekt).
settings.ui
objectSchnittstellen-Einstellungen (Objekt).
settings.ui.size
stringGröße des Zahlungsportals. Folgende Größen sind möglich:
  • small: die kleinstmögliche Größe des Zahlungsportals. Verwenden Sie diese, wenn die Fenstergröße begrenzt ist (Abmessungen: 620 x 630)
  • medium: empfohlene Größe. Verwenden Sie diese, um das Zahlungsportal in einer Lightbox darzustellen (Abmessungen: 820 x 840)
  • large: optimal für die Anzeige des Zahlungsportals in einem neuen Fenster/Registerkarte (Abmessungen: 820 x 840)
settings.ui.theme
stringZahlungsportal-Theme. Möglich sind default, default_dark oder ID eines benutzerdefinierten Themes.
settings.ui.version
stringGerätetyp. Möglich ist desktop (voreingestellt) oder mobile.
settings.ui.desktop
objectSchnittstellen-Einstellungen für die Desktop-Version (Objekt).
settings.ui.desktop.header
objectEinstellungen für den Header (Objekt).
settings.ui.desktop.header.close_button
booleanLegt fest, ob eine Schließen-Schaltfläche in der Desktop-Version der Pay Station angezeigt wird. Die Schaltfläche schließt die Pay Station und leitet den Benutzer an die im settings.return_url-Parameter angegebene URL weiter. Standardwert ist false.
settings.ui.desktop.header.is_visible
booleanLegt fest, ob der Header im Zahlungsportal angezeigt wird.
settings.ui.desktop.header.is_visible.type
stringHeader-Erscheinungsbild. Möglich ist compact (in diesem Fall werden der Spielname und die Benutzer-ID nicht im Header angezeigt) oder normal.
booleanFalls true festgelegt ist, wird Ihr Logo im Header angezeigt (senden Sie dazu das Logo als Bilddatei an Ihren Customer Success Manager).
settings.ui.desktop.header.visible_name
booleanLegt fest, ob der Projektname im Header angezeigt wird.
settings.ui.desktop.header.type
stringErscheinungsbild des Headers. Möglich ist compact (Projektname und Benutzer-ID sind ausgeblendet) oder normal (voreingestellt) festlegen.
settings.ui.mobile.mode
stringEin Benutzer kann nur mit seinen gespeicherten Zahlungsmethoden bezahlen. Möglich ist saved_accounts.
booleanLegt fest, ob der Footer in der mobilen Version des Zahlungsportals ausgeblendet ist.
settings.ui.mobile.header.close_button
booleanLegt fest, ob eine Schließen-Schaltfläche in der mobilen Version der Pay Station angezeigt wird. Die Schaltfläche schließt die Pay Station und leitet den Benutzer an die im settings.return_url-Parameter angegebene URL weiter. Standardwert ist false.
settings.ui.mode
stringBenutzeroberflächenmodus in der Pay Station. Als Wert lässt sich lediglich user_account festlegen: Der Header enthält ausschließlich die Navigationsleiste des Benutzerkontos und der Benutzer kann kein Produkt auswählen oder eine Zahlung tätigen. Dieser Modus ist nur in der Desktop-Version verfügbar.
settings.currency
stringBevorzugte Zahlungswährung. Währungscode, bestehend aus drei Buchstaben gemäß ISO 4217.
settings.external_id
stringTransaktions-ID im Spiel. Eine individuelle ID pro Benutzerzahlung erforderlich.
settings.payment_method
integerID der Zahlungsmethode. Die Liste der Zahlungsmethoden-IDs finden Sie im Kundenportal.
settings.return_url
stringSeite, zu welcher der Benutzer nach der Zahlung weitergeleitet wird. Die folgenden Parameter werden dem Link automatisch hinzugefügt: user_id, foreigninvoice, invoice_id, status.
settings.redirect_policy
objectWeiterleitungsrichtlinien-Einstellungen (Objekt).
settings.redirect_policy.redirect_conditions
stringZahlungsstatus, der einen Benutzer nach erfolgter Zahlung an eine Rückgabe-URL weiterleitet. Möglich ist: none, successful, successful_or_canceled oder any.
settings.redirect_policy.delay
integerVerzögerung (in Sekunden), nach der ein Benutzer automatisch zur Rückgabe-URL weitergeleitet wird.
settings.redirect_policy.status_for_manual_redirection
stringZahlungsstatus, der einen Benutzer nach erfolgter Zahlung an eine Rückgabe-URL weiterleitet. Möglich ist: none, successful, successful_or_canceled oder any.
settings.redirect_policy.redirect_button_caption
stringText auf der Schaltfläche für die manuelle Weiterleitung.
Anfragebeispiel:
Copy
Full screen
Small screen
curl -X 'POST' \
'https://subscriptions.xsolla.com/api/user/v1/projects/{project_id}/subscriptions/manage?country=RU  ' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer client_user_jwt'
{
  "settings": {
    "ui": {
      "size": "large",
      "theme": "string",
      "version": "desktop",
      "desktop": {
        "header": {
          "is_visible": true,
          "visible_logo": true,
          "visible_name": true,
          "type": "compact",
          "close_button": true
        }
      },
      "mobile": {
        "mode": "saved_accounts",
        "footer": {
          "is_visible": true
        },
        "header": {
          "close_button": true
        }
      },
      "license_url": "string",
      "mode": "user_account",
      "user_account": {
        "history": {
          "enable": true,
          "order": 1
        },
        "payment_accounts": {
          "enable": true,
          "order": 1
        },
        "info": {
          "enable": true,
          "order": 1
        },
        "subscriptions": {
          "enable": true,
          "order": 1
        }
      }
    },
    "currency": "str",
    "locale": "st",
    "external_id": "string",
    "payment_method": 1,
    "return_url": "string",
    "redirect_policy": {
      "redirect_conditions": "none",
      "delay": 0,
      "status_for_manual_redirection": "none",
      "redirect_button_caption": "string"
    }
  }
}

Antwortbeispiel:

Copy
Full screen
Small screen
{
  "link_to_ps": "https://secure.xsolla.com/paystation2/?access_token=<access_token>"
}
War dieser Artikel hilfreich?
Vielen Dank!
Gibt es etwas, das wir verbessern können? Nachricht
Das tut uns leid
Bitte erläutern Sie, weshalb dieser Artikel nicht hilfreich ist. Nachricht
Vielen Dank für Ihr Feedback!
Wir werden Ihr Feedback aufgreifen und dazu nutzen, Ihr Erlebnis verbessern.
Letztmalig aktualisiert: 30. September 2024

Haben Sie einen Tippfehler oder einen anderen Textfehler gefunden? Wählen Sie den Text aus und drücken Sie Strg+Eingabe.

Problem melden
Wir überprüfen unsere Inhalte ständig. Ihr Feedback hilft uns, sie zu verbessern.
Geben Sie eine E-Mail-Adresse an, damit wir Sie erreichen können
Vielen Dank für Ihr Feedback!