When a partial refund is made, Xsolla sends details of the canceled transaction in a webhook with the partial_refund
type to the webhook URL. Learn more about the partial refund process in these instructions.
You can give permissions to receive detailed information in webhooks. To do that, you can set the following toggle to On in Publisher Account in the Project settings > Webhooks > Advanced settings section:
Toggle | Description |
---|---|
Show info about transactions via saved payment methods | Information is passed in the following custom parameters of the webhook:
|
Refund codes:
Code | Reason | Description |
---|---|---|
1 | Cancellation by the user request / the game request | Cancellation initiated from Publisher Account. |
3 | Integration error | Issues in integration between Xsolla and the game. Recommendation: Do not add the user to blocklist. |
5 | Test payment | Test transaction followed by cancellation. Recommendation: Do not add the user to blocklist. |
7 | Fraud notification from PS | Payment refused by payment system. Potential fraud detected by PS. Recommendation: 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. |
notification_type required | string Notification type. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
required | object Transaction details (object). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
required | object Payment details (object). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object Custom project settings (object). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object User details (object). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object Purchase details (object). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object Refund details (object). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
custom_parameters | object Your custom parameters. |
Return to indicate successful processing.
Return in case of an error in the provided information (e.g., a required parameter missing, failed authorization, etc.).
Return to indicate temporary errors with your servers.
curl -v 'https://your.hostname/your/uri' \ -X POST \ -d '{ "notification_type": "partial_refund", "settings": { "project_id": 18404, "merchant_id": 2340 }, "purchase": { "checkout": { "currency": "USD", "amount": 50 }, "total":{ "currency": "USD", "amount": 200 } }, "user": { "ip": "127.0.0.1", "phone": "18777976552", "email": "email@example.com", "id": "1234567", "name": "John Smith", "country": "US" }, "transaction": { "id": 1, "external_id": 1, "dry_run": 1, "agreement": 1, "date": "2022-03-01 10:53:15" }, "refund_details": { "author": "email@example.com", "date": "2022-03-01 10:56:48" }, "payment_details": { "sales_tax": { "currency": "USD", "amount": 0 }, "direct_wht": { "currency": "USD", "amount": 0.70 }, "xsolla_fee": { "currency": "USD", "amount": "10" }, "payout": { "currency": "USD", "amount": "200" }, "payment_method_fee": { "currency": "USD", "amount": "20" }, "payment": { "currency": "USD", "amount": "230" }, "repatriation_commission": { "currency": "USD", "amount": 10 } } } }'
{- "error": {
- "code": "INVALID_USER",
- "message": "Invalid user"
}
}