Xsolla-logoXsolla Developers
oder
Zum Kundenportal

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

Benachrichtigungstyp.

required
object

Details zur Transaktion (Objekt).

dry_run
integer

Testtransaktion. Der Parameter hat den Wert 1, wenn es sich um eine Testtransaktion handelt. Er wird nicht gesendet, wenn es sich um eine echte Transaktion handelt.

external_id
string

Externe ID der Transaktion.

id
integer

ID der Transaktion.

payment_method
integer

ID der Zahlungsart.

object

Benutzerdaten (Objekt).

author
string

Erstattungsinitiator. Der Feldwert wird gemäß der Tabelle übermittelt:

Erstattungsinitiator Feldwert
Spiel (über API). API
Kundenportal-Nutzer (automatische Erstattung). E-Mail-Adresse des Nutzers
Kundenportal-Nutzer (mit Unterstützung des Xsolla-Kundensupports). support@xsolla.com
Xsolla (mit Unterstützung des Xsolla-Kundensupports). support@xsolla.com
code
integer

Code-ID.

reason
string

Grund für die Rückerstattung.

object

Benutzerdefinierte Projekteinstellungen (Objekt).

merchant_id
integer

Händler-ID.

project_id
integer

Projekt-ID. Dieser Parameter wird im Kundenportal neben dem Projektnamen angezeigt.

object

Benutzerdaten (Objekt).

id
required
string

Benutzer-ID.

country
string

Land des Benutzers. Ländercode, bestehend aus 2 Großbuchstaben gemäß ISO 3166-1 ALPHA-2.

email
string

E-Mail des Benutzers.

ip
string

Benutzer-IP.

name
string

Benutzername.

Responses
204

Zur Signalisierung einer erfolgreiche Verarbeitung.

400

Rückgabe im Falle eines Fehlers in den bereitgestellten Informationen (z. B. fehlender erforderlicher Parameter, fehlgeschlagene Autorisierung usw.). In diesem Fall wird zwar das Geld des Nutzers abgebucht, der Kauf schlägt jedoch fehl. Um eine Rückerstattung vorzunehmen, wenden Sie sich an den Xsolla-Kundendienst unter support@xsolla.com.

500

Im Falle von temporären Fehlern mit Ihren Servern.

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