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 с аутентификацией пользователя.

      Прогресс интеграции
      Спасибо за обратную связь!
      Последнее обновление: 22 января 2024

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

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