Справочник API

Проверка Xsolla

POST/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"}'

#Ответ

response.json
{
  "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 запроса или текст ошибки, и мы разберёмся.