PaygateDeveloper documentation

List Refunds

GET/api/v1/refunds
operationId
payments.ListRefunds
Permission
refund.list

Parameters

FieldinTypeRequiredDescription
cursorquerystring
limitqueryinteger
payment_idquerystring
requested_byquerystring
statusquerystring
PG-Versionheaderstring

Responses

200 OK

ListEnvelope_Refund

Response headers: `X-Request-Id`

FieldTypeRequiredDescription
dataRefund[]
has_moreboolean
next_cursorstring | null
{
  "data": [
    {
      "amount": {
        "currency": "string",
        "minor": 0
      },
      "created_at": "2026-10-01T09:00:00Z",
      "id": "string",
      "number": "string",
      "payment_id": "string",
      "reason": "string",
      "reason_code": 0,
      "status": "requested",
      "succeeded_at": "2026-10-01T09:00:00Z"
    }
  ],
  "has_more": false,
  "next_cursor": "string"
}

default Error

Problem

FieldTypeRequiredDescription
codestringYes
detailstring
detailsobject
errorsobject[]
errors.codestring
errors.fieldstring
errors.messagestring
instancestring
statusintegerYes
titlestringYes
typestring
{
  "code": "string",
  "detail": "string",
  "details": {},
  "errors": [
    {
      "code": "string",
      "field": "string",
      "message": "string"
    }
  ],
  "instance": "string",
  "status": 0,
  "title": "string",
  "type": "string"
}

Errors

Derived from the modules this operation touches, because the snapshot carries no x-errors list yet — it may list codes this operation cannot return.

Try it

GET/refunds

Makes a real call in test mode with your own key. The key stays in this tab and is never sent anywhere but the API.

No API base URL is configured for this environment, so try-it is unavailable.

Starts with pg_test_. A live key is refused before any request is made.

curl -X GET '<API_BASE_URL>/api/v1/refunds' \
  -H 'Authorization: Bearer pg_test_…' \
  -H 'PG-Version: 2026-09-01'