Xsolla-logo

Успешная оплата заказаWebhook POST

Иксолла отправляет вебхук order_paid на указанный URL-адрес, когда выполнены условия:

  1. Пользователь успешно оплатил заказ.
  2. Иксолла получила ответ об успешной обработке вебхука payment.

В вебхуке order_paid содержится информация о купленных товарах и детали транзакции.

Вебхук order_paid не будет отправлен, если:

  • Оплата не была успешной, например:
    • форма оплаты была открыта, но пользователь не оплатил заказ;
    • форма оплаты была открыта, но при оплате возникли ошибки.
  • Ответ об успешной обработке вебхука payment не получен.

Рекомендуется обеспечить скорость обработки вебхука order_paid менее 3 секунд.

Ожидаемые коды ответов описаны в разделе Responses. Вы можете использовать другие коды ответов. В зависимости от кода ответа и подключения функциональности автоматического возврата платежа логика обработки вебхука на стороне Иксоллы следующая:

Код ответа Автоматический возврат платежа не включен (по умолчанию) Автоматический возврат платежа включен
400, 401, 402, 403, 404, 409, 422, 415 Нет действий Автоматический возврат средств пользователю.
200, 201, 204 Нет действий Нет действий
Другой код или отсутствие ответа на вебхук Многократная отправка вебхуков через заданный временной промежуток: 2 попытки с шагом 5 минут, 7 попыток с шагом 15 минут, 10 попыток с шагом 60 минут. Многократная отправка вебхуков через заданный временной промежуток: 2 попытки с шагом 5 минут, 7 попыток с шагом 15 минут, 10 попыток с шагом 60 минут. Если все вебхуки отправлены, а успешный ответ не получен, осуществляется автоматический возврат средств пользователю.

Для подключения функциональности автоматических возвратов обратитесь к аккаунт-менеджеру проекта или напишите на am@xsolla.com.

Request
Request Body schema: application/json
notification_type
required
string

Тип оповещения.

required
Array of objects

Список предметов, которые купил пользователь.

Array
sku
required
any
type
required
any
quantity
required
integer

Количество предметов.

amount
required
string

Общая стоимость предметов с учетом их количества. Может отличаться от цены товара из-за конвертации валют и комиссий.

required
Array of objects

Примененные акции. Если акции не применялись, в параметр передается пустой массив.

Array
amount_with_discount
string

Стоимость предметов со скидкой.

amount_without_discount
string

Стоимость предметов без скидки.

sequence
integer

ID примененной акции.

is_pre_order
required
boolean

Если передано значение true, предмет является предзаказом.

required
object

Информация о заказе.

id
required
integer

Уникальный идентификатор заказа пользователя на стороне Иксоллы.

mode
required
string

Тип платежа. Значение default (по умолчанию) используется для реальных платежей. Значение sandbox используется для тестовых платежей.

Enum: "default" "sandbox"
currency_type
required
string

Тип валюты платежа. Для бесплатного заказа указывается значение unknown.

Enum: Description
real

для реальной валюты

unknown

для бесплатного заказа

virtual

для виртуальной валюты

currency
required
string

Валюта заказа. Для виртуальной валюты используется артикул, для реальной валюты используется трехбуквенное обозначение согласно стандарту ISO 4217.

amount
required
string

Стоимость корзины с учетом выбранной валюты.

status
required
string

Статус заказа.

platform
required
string or null

Платформа платежа. Для платежей через Иксолла используется значение xsolla. Для других платежей используется значение, соответствующее названию платформы публикации игры.

Enum: "xsolla" "playstation_network" "xbox_live" "pc_standalone" "nintendo_shop" "google_play" "app_store_ios" "android_standalone" "ios_standalone" "android_other" "ios_other" "pc_other"
comment
required
string or null

Комментарий пользователя к заказу.

invoice_id
required
string or null

ID счета для платежей за реальную валюту. Для платежей за виртуальную валюту или для бесплатных товаров передается значение null.

required
Array of objects

Примененные акции. Если акции не применялись, в параметр передается пустой массив.

Array
amount_with_discount
string

Стоимость предметов со скидкой.

amount_without_discount
string

Стоимость предметов без скидки.

sequence
integer

ID примененной акции.

Array of objects

Примененные купоны. Если купон не был применен, массив не возвращается.

Array
code
string

Код примененного купона.

external_id
string

Внешний ID.

Array of objects

Примененные промокоды. Если промокод не был применен, массив не возвращается.

Array
code
string

Код примененного промокода.

external_id
string

Внешний ID.

required
object

Информация о пользователе.

external_id
required
string

ID пользователя.

email
required
string

Email-адрес пользователя.

custom_parameters
object

Дополнительная информация.

Responses
200

Верните, чтобы сообщить об успешной обработке вехбука.

400

Верните в случае ошибки в предоставленной информации (например, обязательный параметр не передан, или авторизация не прошла).

Request samples
application/json
{
  • "custom_parameters": { },
  • "items": [ ],
  • "notification_type": "string",
  • "order": {
    },
  • "user": {
    }
}