Get started

Integration flow

To integrate Subscriptions:

  1. Create a project for your game.
  2. Set up subscription plans.
  3. Set up authorization.
  4. Create catalog UI.
  5. Set up opening the payment UI.
  6. Implement getting subscription information.
  7. Sign licensing agreement.

How it works

Purchasing subscription

Automatic renewal of recurring subscription

User flow

Glossary

Subscription plan
Billing conditions (billing amount, currency, and frequency) in terms of which a user gets their access to the service. Setting up a plan is a required integration step.
Subscription-based product

A service or a set of services provided to a user when they purchase the subscription. The Create Product API call is used to create a product. Product creation is necessary if you set up the sale of separate subscriptions for different services or if you want to give a user the ability to get several subscriptions at the same time. A subscription-based product may be access to a streamer’s channel, game, or unique item/unique ability. You can read more about setting up and using the subscription-based products in these instructions.

Subscription

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.

EXAMPLE 1

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

EXAMPLE 2

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
Note
If the subscription-based product is not set up, the user can get only one subscription at a time. To get several subscriptions simultaneously, you need to set up products.
Group of plans

A set of plans that have the same group_id parameter value. To create or modify a group, pass the group_id parameter to the API calls:

Creating a group of plans is necessary if you want to:

  • create a subscription-based product

  • limit the number of plans you can choose to subscribe to a product

  • let the user switch to another plan inside the group

You can read more about setting up and using groups in these instructions.

Trial period
The period when the user can try out the subscription without paying for it. Features:
  • 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 trial period can be added as a bonus to a promotion.
Grace period
A period of deferred payment. During this period, users who have not paid for their subscription on time can continue using the services. Features:
  • A grace period is only available for regular plan and one-time payment subscriptions. Subscriptions with auto payment renewal type are charged automatically.
  • Xsolla notifies the user of the need to make payment at the time the grace period is activated and each subsequent day of the grace period.
  • If the user pays for a subscription during the grace period, payment is made for the full payment period.
  • The number of days the user has access to the partner’s service without actual payment is subtracted from the total number of days in a subscription period.
  • If the value in the Grace period field in the plan settings is 0, the plan has no grace period.
You can read more about setting up a grace period in these instructions.
Retry period
A period when attempts to charge from the saved payment account are made. In this period users can continue to use the subscriptions services. Is activated after an unsuccessful debit of charge. Features:
  • Retry period is only available for a regular plan and auto payment subscriptions.
  • Charge attempts are made from a saved payment account once a day.
  • The system will try to charge until the subscription is renewed, canceled by a user, or canceled after exceeding the number of billing retries.
  • If a user renews the subscription before the end of the retry period, the number of days during which the user has access to the partner’s service without actual payment is subtracted from the total number of days in a subscription period.
  • If the value in the Number of billing retries field in the plan settings is 0, the plan has no retry period.
You can read more about setting up a retry period in these instructions.
Auto payment
A subscription renewal type that automatically charges your saved billing account. No user action is required. If the billing account has not been saved, a subscription with an automatic payment type switches to the Non renewing status.
One-time payment
A subscription renewal type when charges are made by the user with the payment link received by email. Used if the user selects a payment method that does not support automatic payments.

Subscription statuses

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.

Notice
You cannot create a subscription manually using the API — this can only be done automatically upon making a purchase.
  • 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 Customer Success Manager or email to csm@xsolla.com to change it.
    • User not found in the game.
    • User account deleted.
Note
When a subscription is canceled, the last payment can be refunded. This option is available for both the partner and the user.
  • 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.
Your progress
Thank you for your feedback!
Last updated: January 26, 2024

Found a typo or other text error? Select the text and press Ctrl+Enter.

Report a problem
We always review our content. Your feedback helps us improve it.
Provide an email so we can follow up
Thank you for your feedback!