So erlauben Sie einem Benutzer, das Abo-Modell 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.
- 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
Wie komme ich dazu
- Öffnen Sie Ihr Projekt im Kundenportal.
- Klicken Sie in der Seitenleiste auf Subscriptions, und wechseln Sie zur Registerkarte Einstellungen.
- Stellen Sie im Abschnitt Ändern des Abo-Modells den Schalter Möglichkeit, ein anderes Abo-Modell zu wählen auf Ein.
- 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.
- 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.
- Nutzen Sie zum Öffnen des Zahlungsportals den:
- serverseitigen API-Aufruf “Token erstellen”
- clientseitigen API-Aufruf für den Abruf eines Links zum Öffnen des Zahlungsportals, sofern Sie Xsolla Login in Ihrem Projekt verwenden
Zahlungsportal mit dem serverseitigen API-Aufruf "Token erstellen" öffnen
- Zum Öffnen des Zahlungsportals müssen Sie einen Token abrufen, indem Sie der Methode Folgendes übermitteln:
- den Wert
change_plan
im Parameterpurchase.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.
- den Wert
- Ö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 undAuth 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.
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:
Parameter | Typ | Beschreibung |
---|---|---|
| string | Erforderlich. Die external ID des Abo-Modells. Diese finden Sie im Kundenportal unter Subscriptions > Abo-Modelle. |
| object | Benutzerdefinierte Projekteinstellungen (Objekt). |
| object | Schnittstellen-Einstellungen (Objekt). |
| string | Größe des Zahlungsportals. Folgende Größen sind möglich:
|
| string | Zahlungsportal-Theme. Möglich sind default , default_dark oder ID eines benutzerdefinierten Themes. |
| string | Gerätetyp. Möglich ist desktop (voreingestellt) oder mobile . |
| object | Schnittstellen-Einstellungen für die Desktop-Version (Objekt). |
| object | Einstellungen für den Header (Objekt). |
| boolean | Legt 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 . |
| boolean | Legt fest, ob der Header im Zahlungsportal angezeigt wird. |
| string | Header-Erscheinungsbild. Möglich ist compact (in diesem Fall werden der Spielname und die Benutzer-ID nicht im Header angezeigt) oder normal . |
| boolean | Falls true festgelegt ist, wird Ihr Logo im Header angezeigt (senden Sie dazu das Logo als Bilddatei an Ihren Customer Success Manager). |
| boolean | Legt fest, ob der Projektname im Header angezeigt wird. |
| string | Erscheinungsbild des Headers. Möglich ist compact (Projektname und Benutzer-ID sind ausgeblendet) oder normal (voreingestellt) festlegen. |
| string | Ein Benutzer kann nur mit seinen gespeicherten Zahlungsmethoden bezahlen. Möglich ist saved_accounts . |
| boolean | Legt fest, ob der Footer in der mobilen Version des Zahlungsportals ausgeblendet ist. |
| boolean | Legt 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 . |
| string | Benutzeroberflä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. |
| string | Bevorzugte Zahlungswährung. Währungscode, bestehend aus drei Buchstaben gemäß ISO 4217. |
| string | Transaktions-ID im Spiel. Eine individuelle ID pro Benutzerzahlung erforderlich. |
| integer | ID der Zahlungsmethode. Die Liste der Zahlungsmethoden-IDs finden Sie im Kundenportal. |
| string | Seite, zu welcher der Benutzer nach der Zahlung weitergeleitet wird. Die folgenden Parameter werden dem Link automatisch hinzugefügt: user_id , foreigninvoice , invoice_id , status . |
| object | Weiterleitungsrichtlinien-Einstellungen (Objekt). |
| string | Zahlungsstatus, 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 | integer | Verzögerung (in Sekunden), nach der ein Benutzer automatisch zur Rückgabe-URL weitergeleitet wird. |
| string | Zahlungsstatus, der einen Benutzer nach erfolgter Zahlung an eine Rückgabe-URL weiterleitet. Möglich ist: none , successful , successful_or_canceled oder any . |
| string | Text auf der Schaltfläche für die manuelle Weiterleitung. |
- curl
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:
- javascript
{
"link_to_ps": "https://secure.xsolla.com/paystation2/?access_token=<access_token>"
}
Haben Sie einen Tippfehler oder einen anderen Textfehler gefunden? Wählen Sie den Text aus und drücken Sie Strg+Eingabe.