Xsolla-logo

Order cancellation (combined)Webhook POST

Xsolla sends the order_canceled webhook to the specified URL when the payment was canceled by the user, partner, or automatically.

The order_canceled webhook contains information about returned items, payment data and details of the canceled transaction.

The order_canceled webhook is not sent if the payment was not successful, for example:

  • форма оплаты была открыта, но пользователь не оплатил заказ;
  • форма оплаты была открыта, но при оплате возникли ошибки.

It is recommended that the processing time of the order_canceled webhook is less than 3 seconds.

Request
Request Body schema: application/json
notification_type
required
string

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

required
Array of objects

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

Array
sku
required
string

Уникальный ID предмета. Для предметов с типом game_key используется значение в формате sku_drm.

type
required
string

Тип предмета. Может принимать значения virtual_good, virtual_currency, game_key, bundle. Для предмета с типом bundle, в том числе для пакета виртуальной валюты, в массиве items будут отображены:

  • параметры бандла или пакета виртуальной валюты;
  • предметы, которые входят в бандл, или валюты, которые входят в пакет.
Enum: "virtual_good" "virtual_currency" "game_key" "bundle"
quantity
required
integer

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

amount
required
string

Total cost of items based on their quantity.

required
Array of objects

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

Array
amount_with_discount
string

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

amount_without_discount
string

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

sequence
integer

Порядок применения акций.

is_pre_order
required
boolean

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

custom_attributes
object <json>

JSON-объект, содержащий атрибуты товара и их значения.

required
object

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

id
required
integer

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

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 используется значение xsolla. Для других платежей используется значение, соответствующее названию платформы публикации игры: playstation_network, xbox_live, pc_standalone, nintendo_shop, google_play, app_store_ios, android_standalone, ios_standalone, android_other, ios_other, pc_other.

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

Порядок применения акций.

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-адрес пользователя.

object

Transaction and payment details.

notification_type
required
string

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

required
object

Объект с информацией о транзакции, связанной с этой операцией.

agreement
integer

ID соглашения.

dry_run
integer

Признак тестовой транзакции. Значение параметра равно 1 для тестового платежа, для реального платежа параметр не передается.

external_id
string

Внешний ID транзакции.

id
integer

ID транзакции.

payment_method_order_id
string

ID платежа в платежной системе.

required
object

Объект с финансовыми данными платежа.

object

Объект с данными о налоге с дохода, который удерживается с международных транзакций в некоторых странах.

amount
number <float>

Сумма.

currency
string

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

percent
number <float>

Ставка налога, %.

object

Налог, удерживаемый у источника выплаты.

amount
number <float>

Сумма.

currency
string

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

percent
number <float>

Процент налога, удерживаемого у источника выплаты.

object

Объект с данными о сумме, которую оплатил пользователь.

amount
number <float>

Сумма.

currency
string

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

object

Размер комиссии платежной системы.

amount
number <float>

Сумма.

currency
string

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

object

Объект с данными о сумме, которая была оплачена из платежной системы.

amount
number <float>

Сумма.

currency
string

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

object

Объект с данными о сумме выплаты.

amount
number <float>

Сумма.

currency
string

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

payout_currency_rate
string

Курс валюты платежа к валюте выплаты.

object

Object with data on repatriation costs, imposed on Xsolla by third parties.

amount
number <float>

Сумма.

currency
string

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

object

Размер налога (только для США и Канады).

amount
number <float>

Сумма.

currency
string

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

percent
number <float>

Процент налога.

object

Объект с данными о сумме вознаграждения каналов привлечения трафика (аффилированные сети и инфлюенсеры).

amount
number <float>

Сумма.

currency
string

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

percent
number <float>

Ставка вознаграждения за привлечение пользователей, %.

object

Размер VAT (только для Евросоюза).

amount
number <float>

Сумма.

currency
string

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

percent
number <float>

Процент VAT.

object

Amount debited from Xsolla balance.

amount
number <float>

Сумма.

currency
string

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

object

Xsolla fee (object).

amount
number <float>

Сумма.

currency
string

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

object

Объект с информацией о заказе.

required
object

Объект с данными об общей стоимости покупки.

amount
number <float>

Общая сумма покупки.

currency
string

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

object

Объект с данными о подписке.

amount
number <float>

Сумма покупки.

currency
string

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

date_create
string

Дата создания подписки. Дата и время согласно стандарту ISO 8601.

plan_id
string

ID плана (внешний id, если план был создан через API).

subscription_id
integer

ID подписки в базе данных Xsolla.

tags
Array of strings

Теги плана.

object

Объект с финансовыми данными рефанда.

author
string

Инициатор возврата платежа. Значение поля передается согласно таблице:

Инициатор возврата Значение поля
Игра (через API). API
Пользователь Личного кабинета (автоматический возврат). Email-адрес пользователя
Пользователь Личного кабинета (при участии службы поддержки Xsolla). support@xsolla.com
Xsolla (при участии службы поддержки Xsolla). support@xsolla.com
code
integer

ID кода.

reason
string

Причина отмены.

object

Объект, содержащий настройки проекта.

merchant_id
integer

ID продавца.

project_id
integer

ID проекта. Вы можете найти этот параметр в Личном кабинете рядом с названием проекта.

custom_parameters
object

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

Responses
200

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

400

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

Request samples
curl -v 'https://your.hostname/your/uri' \
-X POST \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Signature d09695066c52c1b8bdae92f2d6eb59f5b5f89843' \
-d '{
    "notification_type": "order_canceled",
    "items": [
      {
        "sku": "virtual-good-item_test",
        "type": "virtual_good",
        "is_pre_order": false,
        "quantity": 3,
        "amount": "1000",
        "promotions": [
          {
            "amount_without_discount": "6000",
            "amount_with_discount": "5000",
            "sequence": 1
          },
          {
            "amount_without_discount": "5000",
            "amount_with_discount": "4000",
            "sequence": 2
          }
        ],
        "custom_attributes": {
            "purchased": 0,
            "attr": "value"
          }
      },
      {
        "sku": "virtual-good-item_test_test_new",
        "type": "bundle",
        "is_pre_order": false,
        "quantity": 1,
        "amount": "1000",
        "promotions": []
      },
      {
        "sku": "gold",
        "type": "virtual_currency",
        "is_pre_order": false,
        "quantity": 1500,
        "amount": "[null]",
        "promotions": []
      }
    ],
    "order": {
      "id": 1,
      "mode": "default",
      "currency_type": "virtual",
      "currency": "sku_currency",
      "amount": "2000",
      "status": "paid",
      "platform": "xsolla",
      "comment": null,
      "invoice_id": "1",
      "promotions": [
        {
          "amount_without_discount": "4000",
          "amount_with_discount": "2000",
          "sequence": 1
        }
      ],
      "promocodes": [
        {
          "code": "promocode_some_code",
          "external_id": "promocode_sku"
        }
      ],
      "coupons": [
        {
          "code": "WINTER2021",
          "external_id": "coupon_sku"
        }
      ]
    },
    "user": {
      "external_id": "id_xsolla_login_1",
      "email": "email@example.com"
    },
    "billing": {
      "notification_type": "refund",
      "settings": {
        "project_id": 18404,
        "merchant_id": 2340
      },
      "purchase": {
              "subscription": {
                  "plan_id": "b5dac9c8",
                  "subscription_id": "10",
                  "date_create": "2014-09-22T19:25:25+04:00",
                  "currency": "USD",
                  "amount": 9.99
              },
              "total":{
                  "currency": "USD",
                  "amount": 200
              }
          },
      "transaction": {
              "id": 1,
              "external_id": 1,
              "dry_run": 1,
              "agreement": 1
          },
      "refund_details": {
              "code": 4,
              "reason": "Potential fraud"
          },
      "payment_details": {
              "sales_tax": {
                  "currency": "USD",
                  "amount": 0
              },
              "direct_wht": {
                  "currency": "USD",
                  "amount": 0.70
              },
              "xsolla_fee": {
                  "currency": "USD",
                  "amount": "10"
              },
              "payout": {
                  "currency": "USD",
                  "amount": "200"
              },
              "payment_method_fee": {
                  "currency": "USD",
                  "amount": "20"
              },
              "payment": {
                  "currency": "USD",
                  "amount": "230"
              },
              "repatriation_commission": {
                  "currency": "USD",
                  "amount": 10
              }
          }
    }
}'