Реализация
Безопасность
Для обеспечения безопасности Xsolla использует:
Примечание
Ключи API генерируются на стороне Xsolla и являются уникальными для каждого провайдера.
Заголовки
Входящие запросы от Xsolla содержат следующие заголовки:
| Заголовок | Описание | Обязательный |
|---|---|---|
Request-Id | Уникальный ID запроса. | Да. |
Content-Digest | Значения контрольной суммы для тела запроса. | Да, если есть тело запроса. |
Signature-Input | Параметры для формирования подписи. | Да. |
Signature | Подпись запроса. | Да. |
Prefer | Дополнительные данные, например environment=“sandbox”. | Нет. |
Примечание
Вам необходимо передавать эти же заголовки в вебхуках, отправляемых к Xsolla.
Проверка входящих запросов
При получении запроса от Xsolla:
- Извлеките секретный ключ, который соответствует значению
keyidиз заголовкаSignature-Input. - Проверьте временное окно
created/expires. - Получите тело запроса.
- Воссоздайте строку подписи в соответствии с
Signature-Inputи проверьте подпись с помощью HMAC-SHA256.
Copy
- http
1sig1=("@method" "@target-uri" "content-digest" "request-id");alg="hmac-sha256";created=1700000000;expires=1700000600;keyid="acc_123"
- Используйте
Request-Idдля поиска запроса в логах.
Обязательная функциональность
Для успешной интеграции вам необходимо реализовать как минимум следующие методы API:
| Метод | Путь | Описание |
|---|---|---|
| POST | /v1/payments | Создание платежа. Возвращает объект action. |
| PATCH | /v1/payments/{transaction_id} | Подтверждение платежа, если возвращен action.type=confirm. |
| GET | /v1/payments/{transaction_id} | Получение текущего статуса платежа. |
payment.succeeded— успешный платеж;payment.failed— ошибка платежа;payment.refunded— возврат платежа.
Примечание
Подробное описание доступных методов API и вебхуков приведено в спецификации.
Была ли статья полезна?
Спасибо за обратную связь!
Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.