> ## Documentation Index
> Fetch the complete documentation index at: https://developers.paychoice.com.au/llms.txt
> Use this file to discover all available pages before exploring further.

# Dishonour fees

> Check whether a failed payment attracted a dishonour fee, and collect it.

When a scheduled payment is dishonoured, a dishonour fee may be raised against the transaction. Normally it's collected on the next scheduled retry; these endpoints let you check it and collect it immediately instead.

| Action | Request |
| - | - |
| Check | `GET /dishonour-fee/{transaction}` |
| Pay | `POST /dishonour-fee/{transaction}/pay` |

`{transaction}` is the charge ID of the dishonoured payment.

## Check

```json theme={null}
{
  "status": "Success",
  "code": 200,
  "messages": [ { "message_text": "Data Selected", "message_type": "success" } ],
  "dishonour_fee": {
    "transaction_id": "f33a990c-237c-4e88-9bd1-eb2d655bb88c",
    "amount": "8.80",
    "currency": "AUD",
    "status": "Pending",
    "created": "2026-11-10T03:10:00.000Z"
  },
  "object_type": "dishonour_fee",
  "link": { "href": "/api/v4/dishonour-fee/f33a990c-237c-4e88-9bd1-eb2d655bb88c", "rel": "self" }
}
```

**status** `string`

`Pending` (not yet collected), `Processing`, `Completed`, `Canceled` or `Dismissed`.

**amount** `string`

The fee, decimal.

Returns `404` if no dishonour fee exists for the transaction.

## Pay

`POST /dishonour-fee/{transaction}/pay` charges the fee to the customer's default payment method now.

```json theme={null}
{
  "status": "Success",
  "code": 200,
  "messages": [ { "message_text": "charge was sent.", "message_type": "success" } ],
  "dishonour_fee_payment": {
    "amount": "8.80",
    "currency": "AUD",
    "status": "Processing",
    "error_code": null,
    "transaction_id": "d4e8b2f1-7a93-4c56-b1e0-8f2c6d9a3b75"
  },
  "object_type": "dishonour_fee_payment",
  "link": { "href": "/api/v4/dishonour-fee/f33a990c-237c-4e88-9bd1-eb2d655bb88c/pay", "rel": "self" }
}
```

`transaction_id` here is the new charge created for the fee; the outcome arrives by [webhook](https://developers.paychoice.com.au/getting-the-result/webhooks.md). Returns `409` if the fee is not in a state that can be charged (already collected, cancelled or dismissed).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.