Xsolla-logoXsolla Developers
ou
Conta de Distribuidor

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

Tipo de notificação.

required
object

Detalhes da transação (objeto).

dry_run
integer

Transação de teste. O parâmetro tem valor 1 se for uma transação de teste ou não for enviado se a transação for real.

external_id
string

ID externo de transação.

id
integer

ID de transação.

payment_method
integer

ID de método de pagamento.

object

Detalhes do reembolso (objeto).

author
string

Iniciador de reembolso. O valor do campo é passado de acordo com a tabela:

Iniciador de reembolso Valor do campo
Jogo (via API). API
Usuário da Publisher Account (reembolso automático). E-mail do usuário
Usuário da Publisher Account (com assistência do suporte ao cliente Xsolla). support@xsolla.com
Xsolla (com assistência do suporte ao cliente Xsolla). support@xsolla.com
code
integer

ID do código.

reason
string

Motivo do reembolso.

object

Configurações personalizadas do projeto (objeto).

merchant_id
integer

ID de comerciante.

project_id
integer

ID do projeto. Você pode encontrar esse parâmetro em sua Conta de Distribuidor ao lado do nome do projeto.

object

Dados do usuário (objeto).

id
required
string

ID de usuário.

country
string

País do usuário. Código de país de duas letras maiúsculas, de acordo com o ISO 3166-1 alpha-2.

email
string

E-mail do usuário.

ip
string

IP do usuário.

name
string

Nome de usuário.

Responses
204

Retorne para indicar o processamento bem-sucedido.

400

Retorne em caso de erro nas informações fornecidas (por exemplo, um parâmetro obrigatório ausente, falha na autorização, etc.). Nesse caso, o dinheiro do usuário é debitado, mas a compra falha. Para fazer um reembolso, entre em contato com o suporte ao cliente Xsolla via support@xsolla.com.

500

Retorne para indicar erros temporários com seus servidores.

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": {
    }
}