---
title: "Payment refund failed"
method: POST
path: "PAYMENT_REFUND_FAILED"
tags: ["Webhooks"]
---

# Payment refund failed

`POST PAYMENT_REFUND_FAILED` (webhook)

A refund attempt failed. This body identifies the payment as `paymentId` and carries no `txId`.

The HTTP body is this object exactly — there is no envelope and no `type` field. The event name is delivered in the `X-Webhook-Event` header. Most optional fields arrive as an explicit `null`; a few keys are dropped from the JSON entirely when unset, and those are marked as such below. Read values with a null-safe accessor rather than testing key presence.

## Payload

- object
  - `paymentId` string, uuid — Payment id.
  - `refundId` string, uuid — Refund id.
  - `reason` string — Failure reason, safe to surface to operators.

## Acknowledgement `200`

Return a 2xx status to acknowledge receipt.

---

[API](https://skmtc.dev/yuvexpay/apis/yuvexpay-api.md) · [All operations](https://skmtc.dev/yuvexpay/apis/yuvexpay-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/yuvexpay/yuvexpay-api/revisions/9d4ba1cc037c/schema)
