neo-pays

Refunds

Generated page, from the OpenAPI specification the gateway serves (GET /v1/openapi.json). Do not edit it by hand: it is rewritten on every build.

Method Path Description
GET /v1/refunds List refunds
POST /v1/refunds Refund a payment
GET /v1/refunds/{id} Retrieve a refund

GET /v1/refunds

List refunds

Same pagination as payments.

Parameters

Name In Required Description
page query no Page, starting at 1.
per_page query no Page size, 100 at most.

Responses

  • 200 — OK
  • 401 — API key missing or rejected
  • 403 — The key does not carry the required scope, or the account is not active
  • 429 — The key's request budget is exhausted (300/min) — honour Retry-After

POST /v1/refunds

Refund a payment

Full or partial refund of a successful payment; the funds come off the available balance at the time of the call. Omitting amount_minor refunds the remaining balance.

⚠️ The Idempotency-Key header must be specific to THIS refund, never the original payment's identifier: a payment can be refunded in several parts, and a key carrying the parent's identifier would make the second partial refund look like a replay of the first — success on the merchant's side, customer not refunded.

Parameters

Name In Required Description
Idempotency-Key header no An idempotency key specific to THIS operation. Replaying the same key with the same payload returns the original; replaying it with a different payload is refused (409).

Responses

  • 201 — Refund created
  • 401 — API key missing or rejected
  • 403 — The key does not carry the required scope, or the account is not active
  • 409 — Idempotency key replayed with a different payload
  • 422 — Well-formed but refused: missing field, closed corridor, insufficient balance
  • 429 — The key's request budget is exhausted (300/min) — honour Retry-After

GET /v1/refunds/{id}

Retrieve a refund

The same masked view as GET /v1/payments/{id}.

Parameters

Name In Required Description
id path yes Internal identifier, the operation's reference, or your own client_ref.

Responses

  • 200 — OK
  • 401 — API key missing or rejected
  • 403 — The key does not carry the required scope, or the account is not active
  • 429 — The key's request budget is exhausted (300/min) — honour Retry-After