Xsolla-logo

Successful payment for order (with payment and transaction details)Webhook POST

Xsolla sendet den Webhook order_paid an die angegebene URL, wenn der Nutzer die Bestellung erfolgreich bezahlt hat.

Der Webhook order_paid enthält Informationen zu den gekauften Artikeln, Zahlungsdaten und Transaktionsdetails.

Der Webhook order_paid 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

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

Die erwarteten Antworten sind im Abschnitt Antworten beschrieben. Sie können andere Antwortcodes verwenden. Abhängig vom Antwortcode und je nachdem, ob die automatische Zahlungserstattung aktiviert ist oder nicht, sieht die Webhook-Verarbeitungslogik aufseiten von Xsolla wie folgt aus:

Antwortcode Automatische Zahlungserstattung ist deaktiviert (standardmäßig) Automatische Zahlungserstattung ist aktiviert
400, 401, 402, 403, 404, 409, 422, 415 Keine Aktionen Benutzer erhält automatische eine Erstattung
200, 201, 204 Keine Aktionen Keine Aktionen
Anderer Code oder keine Antwort auf Webhook Mehrere Webhooks werden innerhalb eines bestimmten Zeitintervalls gesendet: Zwei Versuche im Abstand von 5 Minuten, sieben Versuche im Abstand von jeweils 15 Minuten, zehn Versuche im Abstand von jeweils 60 Minuten. Mehrere Webhooks werden innerhalb eines bestimmten Zeitintervalls gesendet: Zwei Versuche im Abstand von 5 Minuten, sieben Versuche im Abstand von jeweils 15 Minuten, zehn Versuche im Abstand von jeweils 60 Minuten. Wurden alle Webhooks gesendet, ohne eine erfolgreiche Antwort erhalten zu haben, wird dem Benutzer automatisch eine Erstattung ausgestellt.

Wenden Sie sich an Ihre Customer Success Manager oder senden Sie eine E-Mail an csm@xsolla.com, um die automatische Erstattungsfunktion zu verknüpfen.

Request
Request Body schema: application/json
notification_type
required
string

Benachrichtigungstyp.

required
Array of version = 1 (object) or version = 2 (object)

Liste der vom Benutzer gekauften Artikel.

The set of parameters included in the array depends on the webhook version. Version 2 includes additional parameters: is_free, is_bonus, and is_bundle_content. To switch the version, pass its number in the version parameter in the Update information about webhook settings API call.

Array
One of:
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.

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.

custom_attributes
object

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 über Xsolla abgewickelten Zahlungen wird der Wert xsolla verwendet. Bei anderen Zahlungen wird als Wert der Name der entsprechenden Publishing-Plattform verwendet.

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.

object

Transaktions- und Zahlungsdetails.

notification_type
required
string

Benachrichtigungstyp.

required
object

Details zur Transaktion (Objekt).

agreement
integer

ID der Vereinbarung.

dry_run
integer

Testtransaktion. Der Parameter hat den Wert 1, wenn es sich um eine Testtransaktion handelt. Er wird nicht gesendet, wenn es sich um eine echte Transaktion handelt.

external_id
string

Externe Transaktions-ID. Ausführliche Informationen finden Sie in den FAQs.

id
integer

ID der Transaktion.

payment_date
string

Zahlungsdatum.

payment_method
integer

ID der Zahlungsart.

payment_method_name
string

Name der Zahlungsmethode.

payment_method_order_id
string

Zahlungs-ID im Zahlungssystem.

required
object

Zahlungsdaten (Objekt).

object

Quellensteuer, die in bestimmten Ländern aufgrund grenzüberschreitender Transaktionen anfällt (Objekt).

amount
number <float>

Betrag.

currency
string

Währung. Währungscode, bestehend aus drei Buchstaben gemäß ISO 4217.

percent
number <float>

Quellensteuersatz des Landes (in %).

object

Direkte Quellensteuer.

amount
number <float>

Betrag.

currency
string

Währung. Währungscode, bestehend aus drei Buchstaben gemäß ISO 4217.

percent
number <float>

Direkter Quellensteuersatz.

object

Vom Benutzer entrichteter Betrag (Objekt).

amount
number <float>

Betrag.

currency
string

Währung. Währungscode, bestehend aus drei Buchstaben gemäß ISO 4217.

object

Gebühren des Zahlungssystems.

amount
number <float>

Betrag.

currency
string

Währung. Währungscode, bestehend aus drei Buchstaben gemäß ISO 4217.

object

Betrag, der vom Zahlungssystem abgebucht wird.

amount
number <float>

Betrag.

currency
string

Währung. Währungscode, bestehend aus drei Buchstaben gemäß ISO 4217.

object

Details zur Auszahlung (Objekt).

amount
number <float>

Betrag.

currency
string

Währung. Währungscode, bestehend aus drei Buchstaben gemäß ISO 4217.

payout_currency_rate
string

Wechselkurs zwischen Zahlungs- und Auszahlungswährung.

object

Objekt mit Daten über die Rückübertragungskosten, die Xsolla von Dritten auferlegt wurden.

amount
number <float>

Betrag.

currency
string

Währung. Währungscode, bestehend aus drei Buchstaben gemäß ISO 4217.

object

Sales Tax (Objekt; nur in den USA und Kanada).

amount
number <float>

Betrag.

currency
string

Währung. Währungscode, bestehend aus drei Buchstaben gemäß ISO 4217.

percent
number <float>

Sales-Tax-Steuersatz.

object

Der Gesamtbetrag der Nutzerakquisitionsgebühren, der für die durch Affiliate-Netzwerke und Influencer vermittelten Käufe abgezogen wird (Objekt).

amount
number <float>

Betrag.

currency
string

Währung. Währungscode, bestehend aus drei Buchstaben gemäß ISO 4217.

percent
number <float>

Gebührensatz für die Nutzerakquise (in %).

object

Angaben zur MwSt. (Objekt, nur in der EU).

amount
number <float>

Betrag.

currency
string

Währung. Währungscode, bestehend aus drei Buchstaben gemäß ISO 4217.

percent
number <float>

Mehrwertsteuersatz.

object

Betrag, der vom Xsolla-Konto abgebucht wird.

amount
number <float>

Betrag.

currency
string

Währung. Währungscode, bestehend aus drei Buchstaben gemäß ISO 4217.

object

Xsolla-Gebühr (Objekt).

amount
number <float>

Betrag.

currency
string

Währung. Währungscode, bestehend aus drei Buchstaben gemäß ISO 4217.

object

Objekt, welches Angaben zum Kauf enthält.

required
object

Gesamtpreis des Einkaufs (Objekt).

amount
number <float>

Gesamtbetrag der Zahlung.

currency
string

Währung. Währungscode, bestehend aus drei Buchstaben gemäß ISO 4217.

object

Angaben zum Gutschein (Objekt; falls ein Gutschein bei Abschluss des Abonnements genutzt wurde).

campaign_code
string

Kampagne.

coupon_code
string

Gutscheincode.

object

Benutzerdaten (Objekt).

giver_id
string

Spender-ID.

hide_giver_from_receiver
string

Legt fest, ob die Identität des Spenders vor dem Beschenkten geheim gehalten werden soll.

message
string

Nachricht vom Spender.

receiver_email
string

E-Mail des Geschenkempfängers.

receiver_id
string

ID des Geschenkempfängers.

Array of objects

Werbeaktionen, die bei dieser Transaktion Verwendung finden.

Array
id
integer

ID der Werbeaktion.

technical_name
string

Arbeitstitel der Werbeaktion.

object

Angaben zum Abonnement (Objekt).

amount
number <float>

Preis in echter Währung.

currency
string

Währung. Währungscode, bestehend aus drei Buchstaben gemäß ISO 4217.

date_create
string

Datum, an dem das Abonnement abgeschlossen wurde. Datums- und Zeitangabe gemäß ISO 8601.

date_next_charge
string

Nächstes Rechnungsdatum. Datums- und Zeitangabe gemäß ISO 8601.

plan_id
string

ID des Abo-Modells (extern, falls das Abo-Modell über die API angelegt wurde).

product_id
string

Produkt-ID (falls sie im Zugriffstoken versendet wurde).

subscription_id
integer

In der Xsolla-Datenbank erfasste Abonnement-ID.

tags
Array of strings

Abo-Modell-Markierungen.

object

Benutzerdefinierte Projekteinstellungen (Objekt).

merchant_id
integer

Händler-ID.

project_id
integer

Projekt-ID. Dieser Parameter wird im Kundenportal neben dem Projektnamen angezeigt.

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_paid",
    "items": [
      {
        "sku": "com.xsolla.item_1",
        "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": "com.xsolla.item_new_1",
        "type": "bundle",
        "is_pre_order": false,
        "quantity": 1,
        "amount": "1000",
        "promotions": []
      },
      {
        "sku": "com.xsolla.gold_1",
        "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": "gc_user@xsolla.com"
    },
    "billing": {
      "notification_type": "payment",
      "settings": {
        "project_id": 18404,
        "merchant_id": 2340
      },
      "purchase": {
          "subscription": {
              "plan_id": "b5dac9c8",
              "subscription_id": "10",
              "product_id": "Demo Product",
              "date_create": "2014-09-22T19:25:25+04:00",
              "date_next_charge": "2014-10-22T19:25:25+04:00",
              "currency": "USD",
              "amount": 9.99
          },
          "total": {
              "currency": "USD",
              "amount": 200
          },
          "promotions": [{
              "technical_name": "Demo Promotion",
              "id": 853
          }],
          "coupon": {
              "coupon_code": "ICvj45S4FUOyy",
              "campaign_code": "1507"
          },
      "transaction": {
          "id": 1,
          "external_id": 1,
          "payment_date": "2014-09-24T20:38:16+04:00",
          "payment_method": 1,
          "payment_method_name": "PayPal",
          "payment_method_order_id": 1234567890123456789,
          "dry_run": 1,
          "agreement": 1
      },
      "payment_details": {
          "payment": {
              "currency": "USD",
              "amount": 230
          },
          "vat": {
              "currency": "USD",
              "amount": 0,
              "percent": 20
          },
          "sales_tax": {
              "currency": "USD",
              "amount": 0,
              "percent": 0
          },
          "direct_wht": {
              "currency": "USD",
              "amount": 0,
              "percent": 0
          },
          "payout_currency_rate": "1",
          "payout": {
              "currency": "USD",
              "amount": 200
          },
          "country_wht": {
              "currency": "USD",
              "amount": 2,
              "percent": 10
          },
          "user_acquisition_fee": {
              "currency": "USD",
              "amount": 2,
              "percent": 1
          },
          "xsolla_fee": {
              "currency": "USD",
              "amount": 10
          },
          "payment_method_fee": {
              "currency": "USD",
              "amount": 20
          },
          "repatriation_commission": {
              "currency": "USD",
              "amount": 10
          }
      },
      "custom_parameters": {
          "parameter1": "value1",
          "parameter2": "value2"
          }
      }
   }
}'