При отмене платежа Xsolla отправляет детали отмененной транзакции в вебхуке с
типом refund
на URL-адрес вебхука. Подробная информация о процессе возврата
платежа приведена в инструкции.
Если получен ответ с кодом 5xx
, Xsolla отправляет вебхук повторно с
увеличенным интервалом, пока ваш обработчик не подтвердит их получение.
Максимальное количество попыток — 12.
Внимание
Если возврат платежа был инициирован Xsolla и в ответе на вебхук пришел ответ с кодом 5xx
, платеж все равно будет возвращен.
When you save the webhook URL in Publisher Account, you can give permissions to receive detailed information in webhooks. To do that, set the following toggle to active in Publisher Account in the Project settings > Webhooks > Advanced settings section.
Note
If you registered in Publisher Account on or before January 22, 2025, you can find the toggles in the Project settings > Webhooks > Testing > Payments > Advanced settings section.
Переключатель | Описание |
---|---|
Показывать информацию о транзакциях сохраненными способами оплаты | В вебхуке будет передаваться информация в кастомных параметрах:
|
Коды отмены:
Код | Причина отмены | Описание |
---|---|---|
1 | Cancellation by the user request / the game request | Используется, если отмена произошла из Личного кабинета. |
2 | Chargeback | Используется, если по транзакции был chargeback. |
3 | Integration error | Используется в случае проблем с интеграцией между Xsolla и игрой. В этом случае мы не рекомендуем заносить пользователя в черный список. |
4 | Potential fraud | Используется в случае потенциального фрода. В этом случае мы рекомендуем добавить пользователя в черный список. |
5 | Test payment | Используется в случае совершения тестового платежа с последующей отменой. В этом случае мы не рекомендуем заносить пользователя в черный список. |
6 | User invoice expired | Используется, если был выбран способ оплаты с системой отложенного платежа. |
7 | Fraud notification from PS | Используется, если платежная система не произвела выплату по транзакции из-за потенциального фрода. В этом случае мы рекомендуем добавить пользователя в черный список. |
8 | Cancellation by the PS request | Используется, когда платежная система запросила отмену транзакции. В этом случае мы не рекомендуем заносить пользователя в черный список. |
9 | Cancellation by the user request | Используется, если игра или заказ не удовлетворяют требованиям пользователя по каким-либо причинам. В этом случае мы не рекомендуем заносить пользователя в черный список. |
10 | Cancellation by the game request | Используется, когда игра просит отменить транзакцию. В этом случае мы не рекомендуем заносить пользователя в черный список. |
11 | Account holder called to report fraud | Используется, когда владелец аккаунта сообщил, что не совершал данный платеж. |
12 | Friendly fraud | Используется, если нам сообщили о friendly fraud. |
13 | Duplicate | Используется, если произошла попытка повторной оплаты по счету. |
notification_type required | string Тип оповещения. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
required | object Объект с информацией о транзакции, связанной с этой операцией. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
required | object Объект с финансовыми данными платежа. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
custom_parameters | object Ваши дополнительные параметры. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object Объект с информацией о заказе. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object Объект с финансовыми данными рефанда. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object Объект, содержащий настройки проекта. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object Объект с информацией о пользователе. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Верните, чтобы сообщить об успешной обработке вехбука.
Верните в случае ошибки в предоставленной информации (например, обязательный параметр не передан, или авторизация не прошла).
Верните, чтобы сообщить о временных ошибках на ваших серверах.
curl -v 'https://your.hostname/your/uri' \ -X POST \ -d '{ "notification_type": "refund", "settings": { "project_id": 18404, "merchant_id": 2340 }, "purchase": { "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 }, "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 }, "refund_details": { "code": 4, "reason": "Potential fraud" }, "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": "INCORRECT_AMOUNT",
- "message": "Incorrect amount"
}
}