Subscriptions / Создание каталога

Создание каталога

Возможны следующие способы создания каталога подписок:

В собственном интерфейсе

При создании каталога в собственном интерфейсе вы можете использовать:

Примечание
При реализации каталога в собственном интерфейсе вы можете также использовать библиотеки SDK. Применение готовых библиотек позволяет упросить интеграцию продуктов Xsolla в проект, предоставляя готовые структуры данных и методы для работы с Xsolla API.

Xsolla Login и клиентские методы

Для реализации каталога:
  1. Получите список планов подписок с помощью клиентских методов:
  2. Реализуйте отображение полученного списка планов в интерфейсе.

Клиентский метод получения списка планов по продукту

В клиентской части вашего приложения реализуйте получение списка планов по продукту с использованием 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, если в вашем приложении используется авторизация через социальные сети.

В качестве path-параметра укажите:
  • projectId — ID проекта. Вы можете найти этот параметр в Личном кабинете рядом с названием проекта.
  • productID — ID продукта подписки. Для его получения обратитесь к персональному менеджеру проекта или напишите на csm@xsolla.com.

В качестве query-параметров укажите:
ПараметрТипОписание
plan_id
array of integersID рекуррентного плана.
plan_external_id
array of stringsВнешний ID плана. Вы можете найти этот параметр в проекте в Личном кабинете в разделе Subscriptions > Планы подписки > ваш план или с помощью метода Список планов.
limit
integerЛимит количества элементов на странице. По умолчанию отображается 15 элементов.
offset
integerНомер элемента, с которого выполняется вывод на странице. По умолчанию нумерация начинается с 0.
locale
stringЯзык интерфейса в двухбуквенном обозначении согласно стандарту ISO 639-1. Если параметр не передается, язык определяется по IP-адресу пользователя.
Доступные значения:
  • en — английский (США)
  • ar — арабский
  • bg — болгарский
  • cn — китайский упрощенный
  • cs — чешский
  • de — немецкий
  • es — испанский
  • fr — французский
  • he — иврит
  • it —  итальянский
  • ja — японский
  • ko — корейский
  • pl — польский
  • pt — португальский
  • ro — румынский
  • ru — русский
  • th — тайский
  • tr — турецкий
  • tw — китайский традиционный
  • vi — вьетнамский
Если в параметре передается локаль, которая отсутствует в списке Xsolla, то локализация будет на английском языке.
country
stringСтрана пользователя в двухбуквенном обозначении согласно стандарту ISO 3166-1 alpha-2. Влияет на выбор языка интерфейса и валюты. Если параметр не передается, страна определяется по IP-адресу пользователя.
Copy
Full screen
Small screen
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'
Copy
Full screen
Small screen
{
  "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, если в вашем приложении используется авторизация через социальные сети.

В качестве path-параметра укажите projectId — ID проекта. Вы можете найти этот параметр в Личном кабинете рядом с названием проекта.

В качестве query-параметров укажите:

ПараметрТипОписание
plan_id
array of integersID рекуррентного плана.
plan_external_id
array of stringsВнешний ID плана. Вы можете найти этот параметр в проекте в Личном кабинете в разделе Subscriptions > Планы подписки > ваш план или с помощью метода Список планов.
limit
integerЛимит количества элементов на странице. По умолчанию отображается 15 элементов.
offset
integerНомер элемента, с которого выполняется вывод на странице. По умолчанию нумерация начинается с 0.
locale
stringЯзык интерфейса в двухбуквенном обозначении согласно стандарту ISO 639-1. Если параметр не передается, язык определяется по IP-адресу пользователя.
Доступные значения:
  • en — английский (США)
  • ar — арабский
  • bg — болгарский
  • cn — китайский упрощенный
  • cs — чешский
  • de — немецкий
  • es — испанский
  • fr — французский
  • he — иврит
  • it —  итальянский
  • ja — японский
  • ko — корейский
  • pl — польский
  • pt — португальский
  • ro — румынский
  • ru — русский
  • th — тайский
  • tr — турецкий
  • tw — китайский традиционный
  • vi — вьетнамский
Если в параметре передается локаль, которая отсутствует в списке Xsolla, то локализация будет на английском языке.
country
stringСтрана пользователя в двухбуквенном обозначении согласно стандарту ISO 3166-1 alpha-2. Влияет на выбор языка интерфейса и валюты. Если параметр не передается, страна определяется по IP-адресу пользователя.
Copy
Full screen
Small screen
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'
Copy
Full screen
Small screen
{
  "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

  1. Реализуйте получение токена с помощью серверного метода Создание токена. В запросе к методу передайте параметры:
    • user.id — ID пользователя в вашей системе авторизации;
    • user.email — email-адрес пользователя. Должен быть валидным в соответствии с протоколом RFC 822;
    • settings.project_id — ID проекта, который вы можете найти в Личном кабинете рядом с названием проекта.
  2. Реализуйте открытие платежного интерфейса одним из способов:
Copy
Full screen
Small screen
{
    "user": {
        "name": {
            "value": "j.smith@email.com"
        },
        "id": {
            "value": "123a345b678c091d"
        }
    },
    "settings": {
        "project_id": 177226
    }
}

Пример отображения каталога подписок в платежном интерфейсе Xsolla:

В Xsolla Site Builder

В Site Builder вы можете создать и настроить свой сайт для продажи подписок. Для этого создайте сайт с помощью шаблона Web Shop. Подробнее о настройке вы можете прочитать в инструкции Web Shop с аутентификацией пользователя.

Была ли статья полезна?
Спасибо!
Что может сделать страницу еще лучше? Сообщение
Жаль, что так произошло
Расскажите, почему статья не была полезна. Сообщение
Спасибо за обратную связь!
Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.
Последнее обновление: 31 июля 2024

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

Сообщите о проблеме
Мы постоянно улучшаем качество нашей документации. Ваш отзыв поможет нам в этом.
Укажите email-адрес, чтобы мы могли связаться с вами
Спасибо за обратную связь!