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:
Should not be confused with:
Note
To receive the ps_declined
webhook, contact your Customer Success Manager or email csm@xsolla.com.
notification_type required | string Notification type. | ||||||||||
required | object Transaction details (object). | ||||||||||
object Custom project settings (object). | |||||||||||
| |||||||||||
object User details (object). | |||||||||||
| |||||||||||
object Refund details (object). | |||||||||||
Return to indicate successful processing.
Return in case of an error in the provided information (e.g., a required parameter missing, failed authorization, etc.). In this case, the user’s money is debited, but the purchase fails. To make a refund, contact Xsolla customer support at support@xsolla.com.
Return to indicate temporary errors with your servers.
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" } }'
{- "error": {
- "code": "INVALID_USER",
- "message": "Invalid user"
}
}