Xsolla-logo

RefundWebhook POST

Sent whenever a payment is canceled. Includes payment details. Learn more about a refund process in the instruction.

Refund codes:

Code Reason Description
1 Cancellation by the user request / the game request Cancellation initiated from Publisher Account.
2 Chargeback Transaction chargeback requested.
3 Integration error Issues in integration between Xsolla and the game.
Recommendation: Do not add the user to blocklist.
4 Potential fraud Fraud suspected.
Recommendation: Add the user to blocklist.
5 Test payment Test transaction followed by cancellation.
Recommendation: Do not add the user to blocklist.
6 User invoice expired Invoice overdue (used for postpaid model).
7 Fraud notification from PS Payment refused by payment system. Potential fraud detected by PS.
Recommendation: Add the user to blocklist.
8 Cancellation by the PS request Cancellation requested by payment system.
Recommendation: Do not add the user to blocklist.
9 Cancellation by the user request The user was not satisfied with the game or the purchase for any reason.
Recommendation: Do not add the user to blocklist.
10 Cancellation by the game request Cancellation requested by the game.
Recommendation: Do not add the user to blocklist.
11 Account holder called to report fraud The account owner states that they didn’t make the transaction.
12 Friendly fraud Friendly fraud reported.
13 Duplicate Duplicate transaction for the same invoice.
Request
Request Body schema: application/json
notification_type
required
string

Type of notification.

required
object

Transaction details (object).

id
integer

Transaction ID.

external_id
string

Transaction external ID.

payment_method_order_id
string

Payment ID in the payment system.

dry_run
integer

Test transaction. The parameter has the 1 value if it is a test transaction, or is not sent if the transaction is real.

agreement
integer

Agreement ID.

required
object

Payment details (object).

object

Amount paid by the user (object).

currency
string

Currency. Three-letter currency code per ISO 4217.

amount
integer <float>

Amount.

object

Amount debited from the payment system.

currency
string

Currency. Three-letter currency code per ISO 4217.

amount
integer <float>

Amount.

object

Amount debited from Xsolla balance.

currency
string

Currency. Three-letter currency code per ISO 4217.

amount
integer <float>

Amount.

object

Payout details (object).

currency
string

Currency. Three-letter currency code per ISO 4217.

amount
integer <float>

Amount.

object

VAT details (object; EU only).

currency
string

Currency. Three-letter currency code per ISO 4217.

amount
integer <float>

Amount.

percent
integer <float>

VAT rate.

payout_currency_rate
integer <float>

Exchange rate between payment and payout currencies.

object

Xsolla fee (object).

currency
string

Currency. Three-letter currency code per ISO 4217.

amount
integer <float>

Amount.

object

Payment system fee.

currency
string

Currency. Three-letter currency code per ISO 4217.

amount
integer <float>

Amount.

object

Sales tax (object; USA and Canada only).

currency
string

Currency. Three-letter currency code per ISO 4217.

amount
integer <float>

Amount.

percent
integer <float>

Sales tax rate.

object

Direct withholding tax.

currency
string

Currency. Three-letter currency code per ISO 4217.

amount
integer <float>

Amount.

percent
integer <float>

Direct withholding tax rate.

object

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

currency
string

Currency. Three-letter currency code per ISO 4217.

amount
integer <float>

Amount.

object

Custom project settings (object).

project_id
integer

Game’s Xsolla ID. Can be found in Publisher Account.

merchant_id
integer

Merchant ID.

object

User details (object).

id
required
string

User ID.

ip
string

User IP.

phone
string

User phone.

email
string

User email.

name
string

Username

country
string

User’s country. Two-letter uppercase country code per ISO 3166-1 alpha-2.

zip
string

User’s ZIP or postal code.

object

Purchase details (object).

required
object

Total price of purchase (object).

currency
string

Currency. Three-letter currency code per ISO 4217.

amount
integer <float>

Total payment amount.

object
Deprecated

Virtual currency to purchase (object).

name
string
Deprecated

Virtual currency name.

quantity
integer <float>
Deprecated

Quantity.

currency
string
Deprecated

Currency. Three-letter currency code per ISO 4217.

amount
integer <float>
Deprecated

Price in real currency.

object

Checkout details (object).

currency
string

Currency. Three-letter currency code per ISO 4217.

amount
integer <float>

Purchase amount.

object

Subscription details (object).

plan_id
string

Plan ID (external if the plan was created via API).

subscription_id
integer

Subscription ID in Xsolla database.

tags
Array of strings

Plan tags.

date_create
string

Subscription creation date. Date and time per ISO 8601.

currency
string

Currency. Three-letter currency code per ISO 4217.

amount
integer <float>

Price in real currency.

object
Deprecated

Virtual items in purchase (object).

Array of objects
Deprecated
Array
sku
string
Deprecated

Item ID.

amount
integer <float>
Deprecated

Item quantity.

currency
string
Deprecated

Currency. Three-letter currency code per ISO 4217.

amount
integer <float>
Deprecated

Purchase amount.

object
Deprecated

Game keys (array).

object

Object with upgrade data.

object
Deprecated

Object with data on the package, from which the user upgraded.

digital_content
string
Deprecated

Game SKU set in Publisher Account.

DRM
string
Deprecated

Game DRM platform.

object
Deprecated

Object with data on the package, to which the user upgraded.

digital_content
string
Deprecated

Game SKU set in Publisher Account.

DRM
string
Deprecated

Game DRM platform.

currency
string
Deprecated

Currency. Three-letter currency code per ISO 4217.

amount
integer <float>
Deprecated

Price in real currency.

object

Refund details (object).

code
integer

Code ID.

reason
string

Refund reason.

author
string

Refund initiator. The field value is passed according to the table:

Refund initiator Field value
Game (via API). API
Publisher Account user (automatic refund). User email
Publisher Account user (with assistance from Xsolla customer support). support@xsolla.com
Xsolla (with assistance from Xsolla customer support). support@xsolla.com
custom_parameters
object

Your custom parameters.

Responses
204

Return to indicate successful processing.

400

Return in case of an error in the provided information (e.g., a required parameter missing, failed authorization, etc.).

500

Return to indicate temporary errors with your servers.

Request samples
application/json
{
  • "notification_type": "string",
  • "settings": {
    },
  • "user": {
    },
  • "purchase": {
    },
  • "transaction": {
    },
  • "refund_details": {
    },
  • "payment_details": {
    },
  • "custom_parameters": { }
}
Response samples
application/json
{
  • "error": {
    }
}