Создание каталога
Возможны следующие способы создания каталога подписок:
В собственном интерфейсе
При создании каталога в собственном интерфейсе вы можете использовать:
- Собственное хранилище данных и любой вариант авторизации. В этом случае реализуйте отображение каталога на своей стороне.
- Собственную авторизацию и серверный метод Получение планов. После получения списка планов реализуйте отображение каталога на своей стороне.
- Xsolla Login и клиентские методы API.
- Получите список планов подписок с помощью клиентских методов:
- если в проекте настроены продукты подписки, используйте клиентский метод получения списка планов по продукту;
- если в проекте не настроены продукты подписки, используйте клиентский метод получения списка планов.
- Реализуйте отображение полученного списка планов в интерфейсе.
Клиентский метод получения списка планов по продукту
В клиентской части вашего приложения реализуйте получение списка планов по продукту с использованием HTTP GET-запроса https://subscriptions.xsolla.com/api/user/v1/projects/{project_id}/products/{productId}/plans
.
Запрос к методу должен содержать заголовок Authorization: Bearer <client_user_jwt>
, где <client_user_jwt>
— JSON Web Token (JWT) пользователя — уникальный токен, закодированный по стандарту Base64. Используйте для его получения:
- Методы API
Register new user иAuth by username , если в вашем приложении используется авторизация по логину и паролю. Метод API
Auth via social network , если в вашем приложении используется авторизация через социальные сети.
projectId
— ID проекта. Вы можете найти этот параметр в Личном кабинете рядом с названием проекта.
productID
— ID продукта подписки. Для его получения обратитесь к персональному менеджеру проекта или напишите на csm@xsolla.com.
Параметр | Тип | Описание |
---|---|---|
plan_id | array of integers | ID рекуррентного плана. |
| array of strings | Внешний ID плана. Вы можете найти этот параметр в проекте в Личном кабинете в разделе Каталог товаров > Подписки > Планы подписки > ваш план или с помощью метода Список планов. |
| integer | Лимит количества элементов на странице. По умолчанию отображается 15 элементов. |
| integer | Номер элемента, с которого выполняется вывод на странице. По умолчанию нумерация начинается с 0. |
| string | Язык интерфейса в двухбуквенном обозначении согласно стандарту ISO 639-1. Если параметр не передается, язык определяется по IP-адресу пользователя. Если переданная локаль отсутствует в списке Xsolla, английский язык используется по умолчанию. |
| string | Страна пользователя в двухбуквенном обозначении согласно стандарту ISO 3166-1 alpha-2. Влияет на выбор языка интерфейса и валюты. Если параметр не передается, страна определяется по IP-адресу пользователя. |
- curl
1curl -X 'GET' \
2'https://subscriptions.xsolla.com/api/user/v1/projects/{project_id}/products/{productId}/plans?country=RU ' \
3 -H 'accept: application/json' \
4 -H 'Authorization: Bearer client_user_jwt'
- json
1{
2 "items": [
3 {
4 "plan_id": 54321,
5 "plan_external_id": "PlanExternalId",
6 "plan_group_id": "TestGroupId",
7 "plan_type": "all",
8 "plan_name": "Localized plan name",
9 "plan_description": "Localized plan description",
10 "plan_start_date": "2021-04-11T13:51:02+03:00",
11 "plan_end_date": "2031-04-11T13:51:02+03:00",
12 "trial_period": 7,
13 "period": {
14 "value": 1,
15 "unit": "month"
16 },
17 "charge": {
18 "amount": 4.99,
19 "setup_fee": 0.99,
20 "currency": "USD"
21 },
22 "promotion": {
23 "promotion_charge_amount": 3.99,
24 "promotion_remaining_charges": 3
25 }
26 }
27 ],
28 "has_more": false
29}
Клиентский метод получения списка планов
В клиентской части вашего приложения реализуйте получение списка планов по продукту с использованием HTTP GET-запроса https://subscriptions.xsolla.com/api/user/v1/projects/{project_id}/plans
.
Запрос к методу должен содержать заголовок Authorization: Bearer <client_user_jwt>
, где <client_user_jwt>
— JSON Web Token (JWT) пользователя — уникальный токен, закодированный по стандарту Base64. Используйте для его получения:
- Методы API
Register new user иAuth by username , если в вашем приложении используется авторизация по логину и паролю. Метод API
Auth via social network , если в вашем приложении используется авторизация через социальные сети.
projectId
— ID проекта. Вы можете найти этот параметр в Личном кабинете рядом с названием проекта.В качестве query-параметров укажите:
Параметр | Тип | Описание |
---|---|---|
plan_id | array of integers | ID рекуррентного плана. |
| array of strings | Внешний ID плана. Вы можете найти этот параметр в проекте в Личном кабинете в разделе Каталог товаров > Подписки > Планы подписки > ваш план или с помощью метода Список планов. |
| integer | Лимит количества элементов на странице. По умолчанию отображается 15 элементов. |
| integer | Номер элемента, с которого выполняется вывод на странице. По умолчанию нумерация начинается с 0. |
| string | Язык интерфейса в двухбуквенном обозначении согласно стандарту ISO 639-1. Если параметр не передается, язык определяется по IP-адресу пользователя. Если переданная локаль отсутствует в списке Xsolla, английский язык используется по умолчанию. |
| string | Страна пользователя в двухбуквенном обозначении согласно стандарту ISO 3166-1 alpha-2. Влияет на выбор языка интерфейса и валюты. Если параметр не передается, страна определяется по IP-адресу пользователя. |
- curl
1curl -X 'GET' \
2'https://subscriptions.xsolla.com/api/user/v1/projects/{project_id}/plans?country=RU ' \
3 -H 'accept: application/json' \
4 -H 'Authorization: Bearer client_user_jwt'
- json
1{
2 "items": [
3 {
4 "plan_id": 54321,
5 "plan_external_id": "PlanExternalId",
6 "plan_group_id": "TestGroupId",
7 "plan_type": "all",
8 "plan_name": "Localized plan name",
9 "plan_description": "Localized plan description",
10 "plan_start_date": "2021-04-11T13:51:02+03:00",
11 "plan_end_date": "2031-04-11T13:51:02+03:00",
12 "trial_period": 7,
13 "period": {
14 "value": 1,
15 "unit": "month"
16 },
17 "charge": {
18 "amount": 4.99,
19 "setup_fee": 0.99,
20 "currency": "USD"
21 },
22 "promotion": {
23 "promotion_charge_amount": 3.99,
24 "promotion_remaining_charges": 3
25 }
26 }
27 ],
28 "has_more": false
29}
В платежном интерфейсе Xsolla
- Реализуйте получение токена с помощью серверного метода Создание токена. В запросе к методу передайте параметры:
user.id
— ID пользователя в вашей системе авторизации;user.email
— email-адрес пользователя. Должен быть валидным в соответствии с протоколом RFC 822;settings.project_id
— ID проекта, который вы можете найти в Личном кабинете рядом с названием проекта.
- Реализуйте открытие платежного интерфейса одним из способов:
- json
1{
2 "user": {
3 "name": {
4 "value": "j.smith@email.com"
5 },
6 "id": {
7 "value": "123a345b678c091d"
8 }
9 },
10 "settings": {
11 "project_id": 177226
12 }
13}
Пример отображения каталога подписок в платежном интерфейсе Xsolla:
В Xsolla Site Builder
В Site Builder вы можете создать и настроить свой сайт для продажи подписок. Для этого создайте сайт с помощью шаблона Web Shop. Подробнее о настройке вы можете прочитать в инструкции Web Shop с аутентификацией пользователя.

Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.