Xsolla-logoXsolla Developers
или
Личный кабинет

Declined paymentWebhook POST

If a transaction is declined by a payment system, Xsolla sends the transaction details in a webhook of the ps_declined type to your configured webhook URL. The webhook is sent during the authorization or payment processing stage. In this case, the payment\ order_paid webhook is not sent.

Typical reasons for payment system declines:

  • Card authorization failed (for example, the payment system could not complete the authorization process due to a technical error or no response from the bank) or was declined (for example, the bank responded but refused the transaction due to insufficient funds or invalid card details).
  • 3-D Secure verification failed, was not completed, or the user confirmation timed out.
  • The processor or acquiring bank is temporarily unavailable or returns a hard decline due to an irreversible error, such as a closed account or an invalid card number. Retrying without addressing the underlying issue will not result in a successful transaction.

Should not be confused with:

  • Anti-fraud rejections, which are reported via the afs_reject webhook.
  • Refunds and partial refunds after a successful payment, which are reported via the refund and partial_refund webhooks.

Note

To receive the ps_declined webhook, contact your Customer Success Manager or email csm@xsolla.com.

Request
Request Body schema: application/json
notification_type
required
string

Тип оповещения.

required
object

Объект с информацией о транзакции, связанной с этой операцией.

dry_run
integer

Признак тестовой транзакции. Значение параметра равно 1 для тестового платежа, для реального платежа параметр не передается.

external_id
string

Внешний ID транзакции.

id
integer

ID транзакции.

payment_method
integer

ID способа оплаты.

object

Объект с финансовыми данными рефанда.

author
string

Инициатор возврата платежа. Значение поля передается согласно таблице:

Инициатор возврата Значение поля
Игра (через API). API
Пользователь Личного кабинета (автоматический возврат). Email-адрес пользователя
Пользователь Личного кабинета (при участии службы поддержки Xsolla). support@xsolla.com
Xsolla (при участии службы поддержки Xsolla). support@xsolla.com
code
integer

ID кода.

reason
string

Причина отмены.

object

Объект, содержащий настройки проекта.

merchant_id
integer

ID продавца.

project_id
integer

ID проекта. Вы можете найти этот параметр в Личном кабинете рядом с названием проекта.

object

Объект с информацией о пользователе.

id
required
string

ID пользователя.

country
string

Страна пользователя. Используется двухбуквенное обозначение страны согласно стандарту ISO 3166-1 alpha-2.

email
string

Email пользователя.

ip
string

IP адрес пользователя.

name
string

Имя пользователя.

Responses
204

Верните, чтобы сообщить об успешной обработке вехбука.

400

Верните в случае ошибки в предоставленной информации (например, обязательный параметр не передан, или авторизация не прошла). В этом случае денежные средства пользователя списываются, но покупка не осуществляется. Чтобы оформить возврат платежа, необходимо обратиться в службу поддержки Xsolla на support@xsolla.com.

500

Верните, чтобы сообщить о временных ошибках на ваших серверах.

Request samples
curl -v 'https://your.hostname/your/uri' \
-X POST \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Signature 80543ba63e1e50cf05f15150fe75e7245da9a898' \
-d '{
  "notification_type": "ps_declined",
  "settings": {
    "project_id": "18404",
    "merchant_id": "2340"
  },
  "user": {
    "ip": "127.0.0.1",
    "email": "email@example.com",
    "id": "1234567",
    "country": "US"
  },
  "transaction": {
    "id": "1",
    "dry_run": "1",
    "payment_method": "1"
  },
  "refund_details": {
    "author": "support@xsolla.com",
    "code": "8",
    "reason": "Cancellation by the PS request",
    "reason_detail": "Insufficient funds"
  }
}'
Response samples
application/json
{
  • "error": {
    }
}