Создание каталога
Возможны следующие способы создания каталога подписок:
В собственном интерфейсе
При создании каталога в собственном интерфейсе вы можете использовать:
- Собственное хранилище данных и любой вариант авторизации. В этом случае реализуйте отображение каталога на своей стороне.
- Собственную авторизацию и серверный метод Получение планов. После получения списка планов реализуйте отображение каталога на своей стороне.
- Xsolla Login и клиентские методы получения списка планов.
Xsolla Login и клиентские методы
Для реализации каталога:- Получите список планов подписок с помощью клиентских методов:
- если в проекте настроены продукты подписки, используйте клиентский метод получения списка планов по продукту;
- если в проекте не настроены продукты подписки, используйте клиентский метод получения списка планов.
- Реализуйте отображение полученного списка планов в интерфейсе.
Клиентский метод получения списка планов по продукту
В клиентской части вашего приложения реализуйте получение списка планов по продукту с использованием 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 плана. Вы можете найти этот параметр в проекте в Личном кабинете в разделе Subscriptions > Планы подписки > ваш план или с помощью метода Список планов. |
| integer | Лимит количества элементов на странице. По умолчанию отображается 15 элементов. |
| integer | Номер элемента, с которого выполняется вывод на странице. По умолчанию нумерация начинается с 0. |
| string | Язык интерфейса в двухбуквенном обозначении согласно стандарту ISO 639-1. Если параметр не передается, язык определяется по IP-адресу пользователя. Доступные значения:
|
| string | Страна пользователя в двухбуквенном обозначении согласно стандарту ISO 3166-1 alpha-2. Влияет на выбор языка интерфейса и валюты. Если параметр не передается, страна определяется по IP-адресу пользователя. |
- curl
curl -X 'GET' \
'https://subscriptions.xsolla.com/api/user/v1/projects/{project_id}/products/{productId}/plans?country=RU ' \
-H 'accept: application/json' \
-H 'Authorization: Bearer client_user_jwt'
- javascript
{
"items": [
{
"plan_id": 54321,
"plan_external_id": "PlanExternalId",
"plan_group_id": "TestGroupId",
"plan_type": "all",
"plan_name": "Localized plan name",
"plan_description": "Localized plan description",
"plan_start_date": "2021-04-11T13:51:02+03:00",
"plan_end_date": "2031-04-11T13:51:02+03:00",
"trial_period": 7,
"period": {
"value": 1,
"unit": "month"
},
"charge": {
"amount": 4.99,
"setup_fee": 0.99,
"currency": "USD"
},
"promotion": {
"promotion_charge_amount": 3.99,
"promotion_remaining_charges": 3
}
}
],
"has_more": false
}
Клиентский метод получения списка планов
В клиентской части вашего приложения реализуйте получение списка планов по продукту с использованием 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 плана. Вы можете найти этот параметр в проекте в Личном кабинете в разделе Subscriptions > Планы подписки > ваш план или с помощью метода Список планов. |
| integer | Лимит количества элементов на странице. По умолчанию отображается 15 элементов. |
| integer | Номер элемента, с которого выполняется вывод на странице. По умолчанию нумерация начинается с 0. |
| string | Язык интерфейса в двухбуквенном обозначении согласно стандарту ISO 639-1. Если параметр не передается, язык определяется по IP-адресу пользователя. Доступные значения:
|
| string | Страна пользователя в двухбуквенном обозначении согласно стандарту ISO 3166-1 alpha-2. Влияет на выбор языка интерфейса и валюты. Если параметр не передается, страна определяется по IP-адресу пользователя. |
- curl
curl -X 'GET' \
'https://subscriptions.xsolla.com/api/user/v1/projects/{project_id}/plans?country=RU ' \
-H 'accept: application/json' \
-H 'Authorization: Bearer client_user_jwt'
- javascript
{
"items": [
{
"plan_id": 54321,
"plan_external_id": "PlanExternalId",
"plan_group_id": "TestGroupId",
"plan_type": "all",
"plan_name": "Localized plan name",
"plan_description": "Localized plan description",
"plan_start_date": "2021-04-11T13:51:02+03:00",
"plan_end_date": "2031-04-11T13:51:02+03:00",
"trial_period": 7,
"period": {
"value": 1,
"unit": "month"
},
"charge": {
"amount": 4.99,
"setup_fee": 0.99,
"currency": "USD"
},
"promotion": {
"promotion_charge_amount": 3.99,
"promotion_remaining_charges": 3
}
}
],
"has_more": false
}
В платежном интерфейсе Xsolla
- Реализуйте получение токена с помощью серверного метода Создание токена. В запросе к методу передайте параметры:
user.id
— ID пользователя в вашей системе авторизации;user.email
— email-адрес пользователя. Должен быть валидным в соответствии с протоколом RFC 822;settings.project_id
— ID проекта, который вы можете найти в Личном кабинете рядом с названием проекта.
- Реализуйте открытие платежного интерфейса одним из способов:
- javascript
{
"user": {
"name": {
"value": "j.smith@email.com"
},
"id": {
"value": "123a345b678c091d"
}
},
"settings": {
"project_id": 177226
}
}
Пример отображения каталога подписок в платежном интерфейсе Xsolla:
В Xsolla Site Builder
В Site Builder вы можете создать и настроить свой сайт для продажи подписок. Для этого создайте сайт с помощью шаблона Web Shop. Подробнее о настройке вы можете прочитать в инструкции Web Shop с аутентификацией пользователя.
Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.