При отмене платежа Xsolla отправляет детали отмененной транзакции в вебхуке с
типом refund
на URL-адрес вебхука. Подробная информация о процессе возврата
платежа приведена в инструкции.
Если получен ответ с кодом 5xx
, Xsolla отправляет вебхук повторно с
увеличенным интервалом, пока ваш обработчик не подтвердит их получение.
Максимальное количество попыток — 12.
Внимание
Если возврат платежа был инициирован Xsolla и в ответе на вебхук пришел ответ с кодом 5xx
, платеж все равно будет возвращен.
Вы можете настроить получение дополнительной информации в вебхуке. Для этого в Личном кабинете в разделе Настройки проекта > Вебхуки > Расширенные настройки вы можете установить следующий переключатель в положение Вкл:
Переключатель | Описание |
---|---|
Показывать информацию о транзакциях сохраненными способами оплаты | В вебхуке будет передаваться информация в кастомных параметрах:
|
Коды отмены:
Код | Причина отмены | Описание |
---|---|---|
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"
}
}