---
title: "Transaction Failed"
method: POST
path: "transactionFailed"
tags: ["Webhook Topics"]
---

# Transaction Failed

`POST transactionFailed` (webhook)

Fired when a transaction fails. This event indicates that the transaction could not be processed successfully. The included payload contains event data with a **fee** object (fee type and amount in cents) and **failureReason** (TransactionFailureReason: e.g. Canceled, HardDecline, SoftDecline, Expired, InsufficientFunds, Reversed, Unknown).

## Payload

- object
  - `id` string, uuid, required: Unique identifier for the object.
  - `type` 'WebhookEvent', required
  - `attributes` object, required
    - `id` string, uuid, required: The webhook event ID
    - `topic` string, required: The webhook topic/event type
    - `clientId` string, uuid, required: The client ID associated with this webhook event
    - `userId` string, uuid: The user ID associated with this webhook event (if applicable)
    - `walletId` string, uuid: The wallet ID associated with this webhook event (if applicable)
    - `updatedAt` string, date-time, required
    - `createdAt` string, date-time, required
  - `relationships` object, required
    - `event` object
      - `data` object, required: The related event resource (PaymentIntent, Payment, Refund, Capture, or ApplicationEvent)
        - `id` string, uuid, required
        - `type` string, required
  - `included` WebhookTransactionFailed[], required
    - `id` string, uuid, required
    - `type` 'TransactionFailed', required
    - `attributes` object, required
      - `transactionId` string, uuid, required: The transaction ID associated with this event
      - `walletId` string, uuid, required: The wallet ID associated with this transaction
      - `rewardIds` string[]: Optional array of reward IDs associated with this transaction
      - `reference` string, nullable
      - `email` string, email, nullable
      - `fullName` string, nullable
      - `phoneNumber` string, nullable
      - `error` string, nullable
      - `billingAddress` object, nullable
      - `fee` object, required: Fee breakdown applied to this transaction.
        - `type` string, nullable, required: The fee type applied to this transaction (for example, a specific FeeType name). This value can be null when no fee type applies or the fee type cannot be determined.
        - `amount` integer, required: The fee amount applied to this transaction, represented in the smallest currency unit (e.g., cents for USD). This value can be 0 when no fee was charged.
      - `failureReason` 'Canceled' | 'HardDecline' | 'SoftDecline' | 'Expired' | 'InsufficientFunds' | 'Reversed' | 'Unknown': Transaction failure reason (TransactionFailureReason). - **Canceled**: The transaction was canceled. - **HardDecline**: The request was declined (hard decline). - **SoftDecline**: The payment request was declined; subsequent attempts may succeed. - **Expired**: The transaction or authorization expired. - **InsufficientFunds**: Insufficient funds to complete the transaction. - **Reversed**: The transaction was reversed. - **Unknown**: The failure reason is unknown.

## Acknowledgement `200`

Return a 200 status to indicate that the data was received successfully

---

[API](https://skmtc.dev/byaccrue/apis/accrue-merchant-api.md) - [All operations](https://skmtc.dev/byaccrue/apis/accrue-merchant-api/llms.txt) - [OpenAPI document](https://skmtc.dev/byaccrue/apis/accrue-merchant-api/revisions/3e2d97ef2e6e?raw)
