Immer wenn ein Benutzer eine Zahlung tätigt, sendet der Xsolla-Server einen Webhook inklusive Zahlungsdaten.
$request = array(
'notification_type' => 'payment',
'purchase' => array(
'virtual_items' => array(
'items' => array(
0 => array(
'sku' => 'test_item1',
'amount' => 1,
),
1 => array(
'sku' => 'test_item2',
'amount' => 1,
),
2 => array(
'sku' => 'test_item3',
'amount' => 1,
),
)
),
'total' => array(
'currency' => 'USD',
'amount' => 9.99
)
),
'user' => array(
'ip' => '127.0.0.1',
'phone' => '18777976552',
'email' => 'email@example.com',
'id' => '1234567',
'country' => 'US'
),
'transaction' => array(
'id' => 87654321,
'payment_date' => '2014-09-23T19:25:25+04:00',
'payment_method' => 1380,
'dry_run' => 1
),
'payment_details' => array(
'payment' => array(
'currency' => 'USD',
'amount' => 9.99
),
'vat' => array(
'currency' => 'USD',
'amount' => 0
),
'payout_currency_rate' => 1,
'payout' => array(
'currency' => 'USD',
'amount' => 9.49
),
'xsolla_fee' => array(
'currency' => 'USD',
'amount' => 0.19
),
'payment_method_fee' => array(
'currency' => 'USD',
'amount' => 0.31
)
)
)
curl -v https:
-X POST \
-H 'Content-Type:application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Signature 13342703ccaca5064ad33ba451d800c5e823db8f' \
-d '
{
"notification_type": "payment",
"purchase": {
"virtual_items": {
"items": [
{
"sku": "test_item1",
"amount": 1
},
{
"sku": "test_item2",
"amount": 1
},
{
"sku": "test_item3",
"amount": 2
},
]
},
"total": {
"currency": "USD",
"amount": 9.99
}
},
"user": {
"ip": "127.0.0.1",
"phone": "18777976552",
"email": "email@example.com",
"id": "1234567",
"country": "US"
},
"transaction": {
"id": 87654321,
"payment_date": "2014-09-23T19:25:25+04:00",
"payment_method": 1380,
"dry_run": 1
},
"payment_details": {
"payment": {
"currency": "USD",
"amount": 9.99
},
"vat": {
"currency": "USD",
"amount": 0
},
"payout_currency_rate": 1,
"payout": {
"currency": "USD",
"amount": 9.49
},
"xsolla_fee": {
"currency": "USD",
"amount": 0.19
},
"payment_method_fee": {
"currency": "USD",
"amount": 0.31
}
}
}'
Die vollständige Liste der Parameter finden Sie in der API-Referenz.
Falls der Benutzer die Zahlung storniert, sendet der Xsolla-Server eine Webhook-Benachrichtigung mit Zahlungsdaten.
Beispiel für eine Anfrage
$request = array(
'notification_type' => 'refund',
'purchase' => array(
'virtual_currency' => array(
'name' => 'Coins',
'quantity' => 100,
'currency' => 'USD',
'amount' => 9.99
),
'total' => array(
'currency' => 'USD',
'amount' => 9.99
)
),
'user' => array(
'ip' => '127.0.0.1',
'phone' => '18777976552',
'email' => 'email@example.com',
'id' => '1234567',
'country' => 'US'
),
'transaction' => array(
'id' => 87654321,
'payment_date' => '2014-09-23T19:25:25+04:00',
'payment_method' => 1380,
'dry_run' => 1
),
'refund_details' => (
'code' => 1,
'reason' => 'Fraud'
),
'payment_details' => array(
'payment' => array(
'currency' => 'USD',
'amount' => 9.99
),
'vat' => array(
'currency' => 'USD',
'amount' => 0
),
'payout_currency_rate' => 1,
'payout' => array(
'currency' => 'USD',
'amount' => 9.49
),
'xsolla_fee' => array(
'currency' => 'USD',
'amount' => 0.19
),
'payment_method_fee' => array(
'currency' => 'USD',
'amount' => 0.31
)
)
);
curl -v https:
-X POST \
-H 'Content-Type:application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Signature 13342703ccaca5064ad33ba451d800c5e823db8f' \
-d '
{
"notification_type":"refund",
"purchase":{
"virtual_currency":{
"name": "Coins",
"quantity":10,
"currency":"USD",
"amount":100
},
"subscription":{
"plan_id": "b5dac9c8",
"subscription_id": "10",
"date_create": "2014-09-22T19:25:25+04:00",
"currency": "USD",
"amount": 9.99
},
"checkout":{
"currency":"USD",
"amount":50
},
"virtual_items":{
"items":[
{
"sku": "test_item1",
"amount":1
}
],
"currency":"USD",
"amount":50
},
"total":{
"currency":"USD",
"amount":200
}
},
"user": {
"ip": "127.0.0.1",
"phone": "18777976552",
"email": "email@example.com",
"id": "1234567",
"name": "Xsolla User",
"country": "US"
},
"transaction":{
"id":1,
"external_id":1,
"dry_run":1,
"agreement":1
},
"refund_details":{
"code":1,
"reason":"Fraud"
},
"payment_details":{
"xsolla_fee":{
"currency":"USD",
"amount":"10"
},
"payout":{
"currency":"USD",
"amount":"200"
},
"payment_method_fee":{
"currency":"USD",
"amount":"20"
},
"payment":{
"currency":"USD",
"amount":"230"
}
}
}'
Die vollständige Liste der Parameter finden Sie in der API-Referenz.
Gehen Sie folgendermaßen vor, um einen Webhook-Handler zu testen:
- Öffnen Sie die Moduleinstellungen im Kundenportal.
- Gehen Sie zur Registerkarte Testen.
- Geben Sie die Testdaten ein und klicken Sie auf Test. Der Xsolla-Server wird alle möglichen Webhooks senden.
- Im Falle einer gültigen Antwort wird der Test grün und im Falle eines Fehlers rot gekennzeichnet.
Ein Projekt kann bei jedem Kauf Geldspenden erhalten. Um die Funktion zu aktivieren, rufen Sie die Moduleinstellungen auf, gehen zur Registerkarte Preise und setzen Geldspenden im Pay2Play-Widget zulassen auf Ein. Für jede aktiv geschaltete Währung stehen drei Spendenbeträge zur Auswahl.
Der Benutzer kann den Spendenbetrag vor Betreten des Stores auswählen. Diese Geldspenden werden auf die Einkaufssumme aufgeschlagen.
Sie können die Anzahl der Vorbestellungen für jedes Projekt beschränken. Sie erhalten eine Benachrichtigung via E-Mail, wenn a) 100 oder weniger Vorbestellungen verbleiben, und wenn b) das Limit erreicht wurde und daher keine weiteren Vorbestellungen mehr möglich sind. Falls ein Benutzer versucht, das festgelegte Limit für die Vorbestellungen zu überschreiten, wird die Zahlung nicht bearbeitet.

Das Modul Vorbestellungen ermöglicht es Ihnen, regionale Beschränkungen bei Vorbestellungen festzulegen. Insbesondere können Sie:
- Für einzelne Länder oder Ländergruppen unterschiedliche Preise festlegen;
- den Verkauf in bestimmten Ländern verbieten.
Sobald das Projekt ordnungsgemäß konfiguriert ist, wird dem Benutzer eine entsprechende Warnung angezeigt, falls er versucht, aus einem Land heraus, welches gesperrt wurde, eine Vorbestellung zu tätigen. Zahlungen aus Ländern, die von Vorbestellungen ausgeschlossen sind, werden nicht verarbeitet.

Kontaktieren Sie Ihren Account Manager, um diese Funktion zu aktivieren. Für jede Plattform, bei der regionale Beschränkungen zur Anwendung kommen, benötigen wir folgende Informationen:
- Art der Beschränkung:
- Aktivierung: Ein PIN-Code kann nur in bestimmten Ländern aktiviert werden.
- Veröffentlichung: Ein PIN-Code kann in jedem Land aktiviert werden, aber das Spiel kann nur in bestimmten Ländern veröffentlicht werden.
- Aktivierung und Veröffentlichung: Ein PIN-Code kann nur in bestimmten Ländern aktiviert werden und das Spiel kann nur in bestimmten Ländern veröffentlicht werden.
- Liste der Ländergruppen mit unterschiedlichen Preisen bei der Vorbestellung.
- Einstellungen für jede Ländergruppe:
- Gruppenname.
- SKU — eine eindeutige Gruppenkennung.
- Liste mit Preisen in verschiedenen Währungen. Stellen Sie sicher, dass Sie innerhalb der Moduleinstellungen den Preis in der Standardwährung festlegen.
- Liste der Länder innerhalb einer jeden Gruppe.
- Liste der Länder, in denen die Möglichkeit der Vorbestellung deaktiviert wurde (falls vorhanden).
Für jede einzelne Plattform kann ein Land entweder zu einer Gruppe mit unterschiedlichen Preisen oder zu einer Gruppe, bei der die Möglichkeit zur Vorbestellung deaktiviert wurde, gehören. Falls ein Land in keiner dieser Gruppen gelistet ist, so sind Vorbestellungen ohne jegliche Einschränkungen und zum Preis, der in den Moduleinstellungen festgelegt ist, möglich.
Wichtig: Stellen Sie sicher, dass Sie die PIN-Codes erst auf unser System hochladen, nachdem die regionalen Beschränkungen konfiguriert wurden, falls die PIN-Code-Aktivierung und das Release des Spiels von Ihnen oder durch die Plattform durchgeführt wird.