Xsolla-logo

Stornierung der BestellungWebhook POST

Xsolla sendet den Webhook order_canceled an die angegebene URL, wenn die folgenden Bedingungen erfüllt sind:

  1. Die Zahlung wurde vom Benutzer, Partner oder automatisch storniert.
  2. Xsolla hat eine Antwort über die erfolgreiche Verarbeitung vom Webhook refund erhalten.

Der Webhook order_canceled über zurückgegebene Artikel und Details über die stornierten Transaktion.

Der Webhook order_canceled wird nicht gesendet, wenn:

  • die Zahlung nicht erfolgreich war, zum Beispiel:
    • die Zahlungsmaske geöffnet wurde, aber der Benutzer die Bestellung nicht bezahlt hat
    • die Zahlungsmaske geöffnet wurde, aber während der Zahlung Fehler auftraten
  • die Antwort über die erfolgreiche Verarbeitung des Webhooks refund nicht eingegangen ist.

Es wird empfohlen, den Webhook order_canceled in weniger als drei Sekunden zu verarbeiten.

Request
Request Body schema: application/json
notification_type
required
string

Benachrichtigungstyp.

required
Array of objects

Liste der vom Benutzer gekauften Artikel.

Array
sku
required
string

Eindeutige ID des Artikels. Bei Artikeln vom Typ game_key wird ein Wert im Format sku_drm verwendet.

type
required
string

Artikeltyp. Folgende Werte sind möglich: virtual_good, virtual_currency, game_key, bundle. Für Artikel vom Typ bundle, einschließlich virtueller Währungspakete, zeigt das Artikel-Array Folgendes an:

  • Parameter des Bundles oder virtuellen Währungspakets
  • im Bundle enthaltene Artikel oder im Paket enthaltene Währungen
Enum: "virtual_good" "virtual_currency" "game_key" "bundle"
quantity
required
integer

Menge der Gegenstände.

amount
required
string

Gesamtkosten der Artikel basierend auf ihrer Menge. Kann aufgrund von Wechselkursen und Provisionen vom Artikelpreis abweichen.

required
Array of objects

Angewandte Werbeaktion. Falls keine Werbeaktion angewandt wurde, wird ein leeres Array im Parameter übermittelt.

Array
amount_with_discount
string

Gesamtkosten der Gegenstände inklusive Rabatt.

amount_without_discount
string

Gesamtkosten der Gegenstände ohne Rabatt.

sequence
integer

Reihenfolge der angewandten Werbeaktionen.

is_pre_order
required
boolean

Ist true festgelegt, kann der Artikel vorbestellt werden.

is_free
required
boolean

Ist true festgelegt, ist der Artikel kostenlos oder er gehört zu einem Bundle.

is_bonus
required
boolean

Ist true festgelegt, ist der Artikel ein Bonus.

is_bundle_content
required
boolean

Ist true festgelegt, gehört der Artikel zu einem Bundle.

custom_attributes
object <json>

Ein JSON-Objekt mit Artikelattributen und ‑werten.

required
object

Bestellinformationen.

id
required
integer

Eindeutige Kennung der Bestellung des Benutzers aufseiten von Xsolla.

mode
required
string

Zahlungsmodus. default wird bei realen Zahlungen verwendet; sandbox bei Testzahlungen.

Enum: "default" "sandbox"
currency_type
required
string

Zahlungswährungstyp. Bei einer kostenlosen Bestellung ist unknown als Wert angegeben.

Enum: Description
real

bei echter Währung

unknown

bei einer kostenlosen Bestellung

virtual

bei virtueller Währung

currency
required
string

Währung der Bestellung. Bei virtuellen Währungen wird die SKU und bei echten Währungen der aus drei Buchstaben bestehende Code gemäß ISO 4217 genutzt.

amount
required
string

Die Gesamtkosten eines Warenkorbs basierend auf der gewählten Währung.

status
required
string

Bestellstatus.

platform
required
string or null

Zahlungsplattform. Bei Zahlungen über Xsolla wird der Wert xsolla verwendet. Bei anderen Zahlungen entspricht der Wert dem Namen der Publishing-Plattform: 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

Benutzeranmerkung der Bestellung.

invoice_id
required
string or null

Rechnungs-ID bei Zahlungen mit echter Währung. Bei Zahlungen mit virtueller Währung oder bei kostenlosen Artikeln wird der Wert null genutzt.

required
Array of objects

Angewandte Werbeaktion. Falls keine Werbeaktion angewandt wurde, wird ein leeres Array im Parameter übermittelt.

Array
amount_with_discount
string

Gesamtkosten der Gegenstände inklusive Rabatt.

amount_without_discount
string

Gesamtkosten der Gegenstände ohne Rabatt.

sequence
integer

Reihenfolge der angewandten Werbeaktionen.

Array of objects

Angewandte Gutscheine. Wird der Gutschein nicht angewendet, wird kein Array zurückgegeben.

Array
code
string

Der Code eines angewandten Gutscheins.

external_id
string

Externe ID.

Array of objects

Angewandte Promocodes. Wird der Promocode nicht angewandt, wird kein Array zurückgegeben.

Array
code
string

Der Code eines angewandten Promocodes.

external_id
string

Externe ID.

required
object

Benutzerinformationen.

external_id
required
string

Benutzer-ID.

email
required
string

E-Mail-Adresse des Benutzers.

custom_parameters
object

Zusätzliche Informationen.

Responses
200

Zur Signalisierung einer erfolgreiche Verarbeitung.

400

Im Falle eines Fehlers in den bereitgestellten Daten (z. B. fehlender erforderlicher Parameter, fehlgeschlagene Autorisierung usw.).

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"
          },
        "is_free": false,
        "is_bonus": false,
        "is_bundle_content": false
      },
      {
        "sku": "virtual-good-item_test_test_new",
        "type": "bundle",
        "is_pre_order": false,
        "quantity": 1,
        "amount": "1000",
        "promotions": [],
        "is_free": false,
        "is_bonus": false,
        "is_bundle_content": false
      },
      {
        "sku": "gold",
        "type": "virtual_currency",
        "is_pre_order": false,
        "quantity": 1500,
        "amount": "[null]",
        "promotions": [],
        "is_free": true,
        "is_bonus": false,
        "is_bundle_content": true
      }
    ],
    "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"
    }

}'