> ## 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.

# Refund a charge

Refunds all or part of an approved charge, identified by its charge ID. The refund is in the original charge's currency. A refund also triggers a [webhook notification](https://developers.paychoice.com.au/getting-the-result/webhooks.md) with `object_type: "refund"`.

```json 200 theme={null}
{
  "refund": {
    "id": "a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
    "reference": "REFUND-INV-4325454",
    "amount": 10.0,
    "status": "Approved",
    "status_code": 0,
    "error": "Transaction Approved",
    "error_code": "00",
    "created": "2026-11-04T03:02:11.402Z",
    "merchantguid": "315564b9-b863-4016-8c53-02c9d8cc80b7",
    "aggregator_reference": "123456789013",
    "meta_data_reference": null,
    "link": { "href": "/api/v5/refund/a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d", "rel": "self" }
  },
  "object_type": "refund",
  "from_item": 0,
  "to_item": 0,
  "total_count": 0
}
```

**refund.id** `uuid`

The refund ID.

**refund.amount** `number`

Amount refunded.

**refund.status\_code** `integer`

`0` Approved, `4` Blocked, `5` Dishonoured, `6` Errored, `9` Processing.


## OpenAPI

````yaml POST /api/v5/Refund
openapi: 3.0.1
info:
  title: Paychoice
  version: v5
servers: []
security:
  - basic: []
paths:
  /api/v5/Refund:
    post:
      tags:
        - Refund
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RefundDto'
          text/json:
            schema:
              $ref: '#/components/schemas/RefundDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/RefundDto'
      responses:
        '200':
          description: OK
components:
  schemas:
    RefundDto:
      required:
        - amount
      type: object
      properties:
        amount:
          minimum: 0
          type: number
          format: double
        charge_id:
          type: string
          nullable: true
        reference:
          type: string
          nullable: true
        merchant_guid:
          type: string
          nullable: true
        meta_data_reference:
          type: string
          nullable: true
        request_type:
          $ref: '#/components/schemas/PaymentRequestType'
      additionalProperties: false
    PaymentRequestType:
      enum:
        - Charge
        - PreAuth
        - Refund
        - Capture
        - Reversal
        - Recur
      type: string
  securitySchemes:
    basic:
      type: http
      description: Basic Authorization header using the Bearer scheme.
      scheme: basic

````

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