Xsolla-logo

Cancelación del pedidoWebhook POST

Xsolla envía el webhook order_canceled a la URL especificada cuando se cumplen las siguientes condiciones:

  1. El pago fue cancelado por el usuario, un socio o de forma automática.
  2. Xsolla recibió una respuesta sobre el procesamiento correcto del webhook refund.

El webhook order_canceled contiene información sobre los artículos devueltos y los detalles de la transacción cancelada.

El webhook order_canceled no se enviará si:

  • El pago no se realizó correctamente, por ejemplo:
    • se abrió el formulario de pago, pero el usuario no pagó el pedido
    • se abrió el formulario de pago, pero hubo errores durante el pago
  • No se ha recibido la respuesta sobre el procesamiento correcto del webhook refund.

Se recomienda que la velocidad de procesamiento del webhook order_canceled sea inferior a 3 segundos.

Request
Request Body schema: application/json
notification_type
required
string

Tipo de notificación.

required
Array of objects

Lista de artículos adquiridos por el usuario.

Array
sku
required
string

ID único del artículo. Para los artículos con el tipo game_key, se utiliza un valor con el formato sku_drm.

type
required
string

Tipo de artículos. Puede tener los siguientes valores: virtual_good, virtual_currency, game_key o bundle. Para los artículos del tipo bundle, incluidos los paquetes de monedas virtuales, la matriz de artículos mostrará:

  • parámetros del lote o paquete de monedas virtuales
  • artículos incluidos en el lote o monedas incluidas en el paquete
Enum: "virtual_good" "virtual_currency" "game_key" "bundle"
quantity
required
integer

Cantidad de artículos.

amount
required
string

Coste total de los artículos en función de su cantidad. Puede diferir del precio del artículo debido a los tipos de cambio y las comisiones.

required
Array of objects

Promociones aplicadas. Si no se ha aplicado ninguna promoción, se transmite una matriz vacía en el parámetro.

Array
amount_with_discount
string

Coste total de los artículos con descuento.

amount_without_discount
string

Coste total de los artículos sin descuento.

sequence
integer

Pedido de aplicación de promociones.

is_pre_order
required
boolean

Si es true, el artículo se reserva (prepedido).

custom_attributes
object <json>

Un objeto JSON que contiene los atributos y valores del artículo.

required
object

Información sobre el pedido.

id
required
integer

Identificador único del pedido del usuario en el lado de Xsolla.

mode
required
string

Modo de pago. default se utiliza para pagos reales; sandbox para pagos de prueba.

Enum: "default" "sandbox"
currency_type
required
string

Tipo de moneda de pago. Para realizar un pedido gratuito, se especifica el valor unknown.

Enum: Description
real

para moneda real

unknown

para un pedido gratuito

virtual

para moneda virtual

currency
required
string

Moneda del pedido. La moneda virtual utiliza el código de artículo (SKU) y la moneda real usa un código de tres letras según la ISO 4217.

amount
required
string

El coste total de una cesta en función de la moneda elegida.

status
required
string

Estado del pedido.

platform
required
string or null

Plataforma de pago. Para realizar pagos vía Xsolla se utiliza el valor xsolla. Para otros pagos se usa el valor correspondiente al nombre de la plataforma de publicación de juegos: 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

Comentario del usuario sobre el pedido.

invoice_id
required
string or null

ID de factura de pagos en moneda real. Los pagos en moneda virtual o los artículos gratuitos tienen un valor de null.

required
Array of objects

Promociones aplicadas. Si no se ha aplicado ninguna promoción, se transmite una matriz vacía en el parámetro.

Array
amount_with_discount
string

Coste total de los artículos con descuento.

amount_without_discount
string

Coste total de los artículos sin descuento.

sequence
integer

Pedido de aplicación de promociones.

Array of objects

Cupones aplicados. Si no se aplica el cupón, la matriz no devuelve.

Array
code
string

El código de un cupón aplicado.

external_id
string

ID externo.

Array of objects

Códigos promocionales aplicados. Si no se aplica el código promocional, la matriz no devuelve.

Array
code
string

El código de un código promocional aplicado.

external_id
string

ID externo.

required
object

Información del usuario.

external_id
required
string

ID de usuario.

email
required
string

Dirección de correo electrónico del usuario.

custom_parameters
object

Información adicional.

Responses
200

Devuelve para indicar un procesamiento realizado correctamente.

400

Devuelve en caso de error en la información proporcionada (p. ej., falta un parámetro obligatorio, autorización fallida, etc.).

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"
    }

}'