---
title: "Refund payment"
method: POST
path: "/api/connector/v1/payments/refund"
tags: ["Payments"]
---

# Refund payment

`POST /api/connector/v1/payments/refund`

Refunds a specified payment on a specified account. A reason must be provided. Optionally, specify an amount for a partial refund. This operation supports [Portfolio Access Tokens](https://mews-systems.gitbook.io/connector-api/concepts/multi-property/).
                                                   
* **Payment types**: Only `CreditCardPayment` and `AlternativePayment` can be refunded. Other payment types will fail.
* **Refund information**: The refund is a payment itself. To get more information, use [Get all payments](https://mews-systems.gitbook.io/connector-api/operations/payments#get-all-payments) with the `RefundId` as the `PaymentId`.
* **Potential failures**: This operation initiates the refund process, but refunds can fail if the payment is in a `Pending` state and fails processing. To check the status of a pending payment, including refunds, use [Get all payments](https://mews-systems.gitbook.io/connector-api/operations/payments#get-all-payments).

## Request body

- PaymentRefundParameters
  - `ClientToken` string, required — Token identifying the client application.
  - `AccessToken` string, required — Access token of the client application.
  - `Client` string, required — Name and version of the client application.
  - `EnterpriseId` string, uuid, nullable — Unique identifier of the enterprise. Required when using [Portfolio Access Tokens](https://mews-systems.gitbook.io/connector-api/concepts/multi-property), ignored otherwise.
  - `PaymentId` string, uuid, required — Unique identifier of specific [Payment](https://mews-systems.gitbook.io/connector-api/operations/payments/#payment).
  - `AccountId` string, uuid, required — Unique identifier of the account (for example [Customer](https://mews-systems.gitbook.io/connector-api/operations/customers/#customer)) the payment belongs to.
  - `Reason` string, required — Refund reason.
  - `ValueToRefund` number, double, nullable — Refund amount. If not provided, the whole payment will be refunded.

## Response `200`

OK

- PaymentRefundResult
  - `PaymentId` string, uuid, required — Unique identifier of specific [Payment](https://mews-systems.gitbook.io/connector-api/operations/payments/#payment).
  - `RefundId` string, uuid, required — Unique identifier of refund.
  - `Type` 'CreditCardPayment' | 'AlternativePayment', required — CreditCardPayment AlternativePayment
  - `Amount` CurrencyValue, required — Absolute value of the fee.
    - `Currency` string, currency, required — ISO-4217 code of the `Currency`.
    - `Value` number, double, required — Amount in the currency.
  - `State` 'Charged' | 'Canceled' | 'Pending' | 'Failed' | 'Verifying', required — Charged Canceled Pending Failed Verifying

## Other responses

- `204` — Server has successfully fulfilled the request and there is no additional information to send back.
- `400` — Error caused by the client app, e.g. in case of malformed request or invalid identifier of a resource. In most cases, such an error signifies a bug in the client app (consumer of the API).
- `401` — Error caused by usage of invalid ClientToken, AccessToken, or you may not have the necessary permission to use the endpoint.
- `403` — Server error that should be reported to the end user of the client app. Happens for example when the server-side validation fails or when a business-logic check is violated.
- `408` — Error caused by heavy request that takes too long to process (typically tens of seconds). To get around this, request data in smaller batches. For more information, see [Request timeouts](https://mews-systems.gitbook.io/connector-api/guidelines/requests#request-timeouts)
- `429` — Error caused by too many requests sent in a given amount of time. Response contains `Retry-After` header indicating how long the user agent should wait before making a follow-up request. For more information, see [Request limits](https://mews-systems.gitbook.io/connector-api/guidelines/requests#request-limits).
- `500` — Unexpected error on the Mews side. This may be due to a software fault. If such a situation occurs, the error will be logged and the development team notified, however you can raise an issue through GitHub on our [documentation repository](https://github.com/MewsSystems/gitbook-connector-api).

---

[API](https://skmtc.net/mews/apis/connector-api.md) · [All operations](https://skmtc.net/mews/apis/connector-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mews/connector-api/revisions/81933a8ff730/schema)
