Справочник API
Проверка Xsolla
/v1/xsolla/verifyПроверяет, подписан ли пользователь Xsolla или конкретная подписка, с помощью ID мерчанта, ID проекта и API-ключа Xsolla, заданных на этом API-ключе (консоль → API-ключи → Изменить → Проверка подписки Xsolla). Ответ приходит напрямую от Xsolla; шлюз ничего не списывает, а что открыть, решает приложение. Найденные подписки кэшируются на одну минуту.
#Параметры запроса
user_idstringнеобязательноuser.id, который приложение передало в платёжный токен Xsolla. Обязателен, если не передан subscription_id.
subscription_idintegerнеобязательноID подписки Xsolla, если он есть у приложения. Если передан вместе с user_id, подписка должна принадлежать этому пользователю.
subscribed равно true для любой реальной подписки этого пользователя в проекте, включая отменённые; active равно true, только пока подпиской можно пользоваться. При выключенном автопродлении (state non_renewing) подписка активна до expiry_time. in_trial равно true, пока списаний ещё не было. Для пользователя без подписки ответ — subscribed false и state not_found со статусом 200. Если подписок несколько, возвращается активная с самым поздним окончанием.
Каждый вызов, включая ответы из кэша и ошибки, отображается в Консоль → Журнал запросов как бесплатная строка xsolla-verify на ключе, который его сделал. Эти строки не учитываются в числе запросов. Подписки Xsolla в приложении →
#Связанные ошибки
- 400 invalid_requestТело не JSON, или нет ни user_id, ни subscription_id.
- 400 xsolla_not_configuredУ этого API-ключа ещё нет ID мерчанта, ID проекта и API-ключа Xsolla.
- 401Bearer-токен недействителен или отсутствует.
- 429Лимит проверок на ключ: по умолчанию 120 в минуту, поддержка может поднять его для ключа. Дождитесь Retry-After и используйте последний ответ.
- 502 xsolla_credentials_invalidXsolla отклонила сохранённый API-ключ. Введите новый на ключе.
- 503 xsolla_unavailableXsolla не ответила вовремя. Повторите через несколько секунд.
#Пример запроса
curl https://www.aisplice.store/v1/xsolla/verify \
-H "Authorization: Bearer sk-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"user_id": "USER_ID_IN_THE_PAYMENT_TOKEN"}'#Ответ
{
"project_id": 273204,
"subscribed": true,
"active": true,
"in_trial": false,
"state": "active",
"subscription_id": 249579,
"user_id": "user-8f2c",
"plan_id": 601,
"plan_external_id": "weekly",
"expiry_time": 1793000000,
"auto_renewing": true,
"checked_at": 1790400000
}Проблема не решена?
Пришлите нам ID запроса или текст ошибки, и мы разберёмся.