To integrate Subscriptions:
- Create a project for your game.
- Set up subscription plans.
- Get token.
- Implement opening payment UI.
- Implement getting subscription information.
How it works
Step 1 — Get a token for opening payment UI
Step 2 — Make a purchase
Step 3 — Make a payment
A combination of the product and the chosen plan. A subscription is created when a user selects a subscription plan and gets access to a service. The number of subscriptions a user can get at the same time depends on the number of products in the project. Subscription conditions (billing period, cost, and others) correspond to the conditions of the selected plan. Conditions of the existing subscription are not changed if conditions of the plan were changed after subscription had been created.
Product: Access to the game
- Subscription plan
Silver: $10 per 1 month
- Subscription plan
Gold: $100 per 1 year
A user can select one of the following subscriptions:
- Subscription 1: Access to the game with the $10/month plan
- Subscription 2: Access to the game with the $100/year plan
Product 1: Access to the game1
Product 2: Access to the game2
- Subscription plan: $10 per 1 month
A user can get two subscriptions simultaneously:
- Subscription 1: Access to the game1 with the $10/month plan
- Subscription 2: Access to the game2 with the $10/month plan
Group of plans
group_idparameter. Creating a group of plans is necessary if you want to:
- limit the number of plans you can choose to subscribe to a product
- let the user switch to another plan from the group
- no products are created in your project
- multiple products are created in your project and a subscription to each of the products can be sold with any of the project plans
- One plan can belong only to one group.
- One group can be used for many products.
- One product can be created based on only one group.
- By default, plans are created with the
group_id: nullparameter and included in the general group.
- When a subscription with a trial period is purchased, a billing account is created, and an authorization payment is made. There is a small amount charged from the user’s account and, then, refunded. When payment is charged, a payment webhook is not sent to the webhook URL.
- After the end of the trial period, the full cost of the subscription plan is charged and Payment and Updated subscription webhooks are sent to the webhook URL. If the payment for the subscription is unsuccessful the Canceled Subscription webhook is sent. The trial period is not included in the plan’s validity period and its duration is calculated separately.
- A grace period is supported only by subscriptions with the one-time payment type. Payment for auto-renewing subscriptions is processed automatically.
- You can change the length of the grace period in Publisher Account.
- The system sends payment reminders every day until the user pays for the subscription or the grace period ends.
- The user pays the full subscription price. The number of days the user spends in the grace period is removed from the main billing period, as these days are included in the main subscription.
- If the value in the Grace period field in the plan settings is
0, the plan has no grace period.
- The system tries to withdraw money from the payment account once a day.
- The system will try to withdraw money until the subscription is renewed, canceled by a user, or canceled after the number of billing retries exceeds.
- If this setting is active, the user will have access to the subscription until the number of billing retries exceeds.
- If the subscription is renewed by a user, the number of days the system has spent on the billing attempts (one day per attempt) is removed from the main billing period, as these days are included in the main subscription.
A subscription can have one of the following statuses:
- Active. Primary status. The subscription is created and activated after the first successful payment. Further charges are only possible for active subscriptions.
- Canceled. The subscription has been canceled with immediate effect due to one of the following reasons:
- Status changed via an API method or from the Xsolla Publisher Account.
- Canceled by the user.
- Expired, if an expiration date was set in the parameters.
- Maximum number of charging attempts exceeded. This is three by default; please contact your Account Manager to change it.
- User not found in the game.
- User account deleted.
- Non renewing. Subscription renewal canceled. The subscription will last until the current billing cycle ends before the status changes to Canceled. A renewal can be canceled due to one of the following reasons:
- Status changed via an API method or from Publisher Account.
- Canceled by user via email link.
- User account deleted.
Found a typo or other text error? Select the text and press Ctrl+Enter.