Получение информации о подписках
Если в Web Shop планируется продажа подписок, реализуйте получение информации о действиях с подписками одним из способов:
- с помощью API (подходит при бессерверной интеграции);
- с помощью вебхуков (автоматические оповещения, подходит при серверной интеграции).
Настройка через методы API
В клиентской части вашего приложения реализуйте получение информации о подписках пользователя с использованием HTTP GET-запроса.
Xsolla API использует HTTP-аутентификацию. Запрос должен содержать заголовок Authorization: Bearer <client_user_jwt>
, где <client_user_jwt>
— уникальный токен, закодированный по стандарту Base64. Используйте для его получения:
- При авторизации по логину и паролю — методы API Register new user и Auth by username and password.
- При авторизации через социальные сети — метод API Auth via social network.
В качестве path-параметра укажите projectId
— ID проекта. Вы можете найти этот параметр в Личном кабинете рядом с названием проекта. В качестве query-параметров укажите:
limit
— лимит количества элементов на странице (по умолчанию на странице выдается 15 записей).offset
— номер элемента, с которого выполняется вывод на странице (нумерация ведется с 0).locale
— язык интерфейса, принимает значения в соответствии со стандартом ISO 639-1 (по умолчанию английский).
Copy
- curl
1-X 'GET' \
2 'https://subscriptions.xsolla.com/api/user/v1/projects/{projectId}/subscriptions?locale=ru&limit=5&offset=5 ' \
3 -H 'accept: application/json' \
4 -H 'Authorization: Bearer client_user_jwt'
Пример ответа:
Copy
- javascript
1{
2 "items": [
3 {
4 "id": 11111111,
5 "plan_id": 11111
6 "plan_external_id": "TestChangePlanBase",
7 "plan_name": "package_recurrent_name_66053",
8 "plan_description": "package_recurrent_description_66053",
9 "product_id": null,
10 "product_external_id": null,
11 "product_name": null,
12 "product_description": null,
13 "status": "active",
14 "date_create": "2021-03-11T13:50:11+03:00",
15 "date_next_charge": "2031-04-11T13:51:02+03:00",
16 "date_last_charge": "2021-03-11T13:51:02+03:00",
17 "charge": {
18 "amount": "0.2500",
19 "currency": "USD"
20 },
21 "period": {
22 "value": 1,
23 "unit": "day"
24 }
25 }
26 ],
27 "has_more": true
28}
Настройка вебхуков
- Настройте параметры для получения вебхуков:
- В проекте в Личном кабинете перейдите в раздел Настройки проекта > Вебхуки.
- В поле Сервер для вебхуков укажите URL-адрес вашего сервера для получения вебхуков в формате
https://example.com
. Вы также можете ввести URL-адрес из инструмента для тестирования вебхуков. - Секретный ключ проекта для подписи вебхуков генерируется по умолчанию. Если вы хотите изменить его, нажмите значок обновления.
- Нажмите Получать вебхуки.
- В приложении реализуйте обработку следующих типов вебхуков:
- Для покупки и продления подписки:
- Для отмены подписки: Отмена подписки
- Для отмены платежа: Возврат платежа
- Протестируйте вебхуки:
- В Личном кабинете в разделе Настройки проекта > Вебхуки перейдите на вкладку Subscriptions.
- Чтобы проверить работу системы вебхуков, укажите значения из проекта (User ID, Invoice ID), которые будут отправлены в запросе на указанный URL. При отсутствии реальных значений допускается ввод произвольных значений. Заполните поля:
- ID пользователя;
- ID заявки в Xsolla;
- сумма;
- валюта;
- ID плана;
- продукт подписки (опционально);
- Invoice ID — внутренний номер заказа (опционально);
- пробный период (для тестирования покупки подписки без пробного периода или тестирования продления подписки укажите значение
0
).
Примечание
В Личном кабинете вы можете протестировать только базовые вебхуки Проверка существования пользователя и Успешный платеж.
- Нажмите Тестировать.
- Убедитесь, что сообщение об успешном завершении тестирования получено. При успешной обработке запроса ваш сервер должен вернуть:
- 204 HTTP-код без тела сообщения в случае успешного ответа.
- 400 или 500 HTTP-коды с описанием проблемы, если указанный пользователь не был найден или если передана недействительная подпись.
- Протестируйте получение остальных вебхуков:
- Используйте тестовое окружение, чтобы протестировать покупку и продление подписки и получить вебхуки Создание подписки, Изменение подписки, Отмена подписки.
- Используйте боевое окружение, чтобы протестировать покупку подписки на реальных платежах и получить вебхуки Возврат платежа, Отмена подписки.
Следующие шаги
Полезные ссылки
Была ли статья полезна?
Спасибо за обратную связь!
Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.