---
title: "Create refund"
method: POST
path: "/payment/v1/merchants/{merchantId}/accounts/{accountId}/refunds"
tags: ["Payment.Settlement Accounts"]
---

# Create refund

`POST /payment/v1/merchants/{merchantId}/accounts/{accountId}/refunds`

Creates a refund for the specific transaction, settlement account and merchant.

## Path parameters

- `merchantId` string, required
- `accountId` string, required

## Request body

- V1SettlementAccountRefund — Parameters for the settlement account refund to be created. Use of an `Idempotency-Key` header is required when making this request. The header value must be a non empty string.
  - `accountId` string, required — Id of the settlement account. Output only.
  - `amount` TypeCurrencyDenominatedAmount, required — The amount with regard to currency and its value should be accurately represent the monetary amount.
    - `currencyCode` string — The currency code which follows ISO-4217 standard.
    - `value` TypeExactNumber — ExactNumber to use representation, which is used in `BigDecimal`. A value of `12.13` with `unscaledValue = 1213` and `scale = 2`. We can later use `doubleValue = Math.pow(10, -scale) * unscaledValue` to get exact number.
      - `scale` string, int64 — The scale of the numeric value. `unscaledValue` is used with `scale` to accurately represent floating point values. The formula is `unscaledValue * (10^-scale)`. For example, if scale is 1 and unscaledValue is 1230, the end result would be 123.0.
      - `unscaledValue` string, int64 — The unscaled numeric value. `unscaledValue` is used with `scale` to accurately represent floating point values. The formula is `unscaledValue * (10^-scale)`. For example, if scale is 1 and unscaledValue is 1230, the end result would be 123.0.
  - `createdTime` string, date-time — The date and time when the refund was initiated. Output only.
  - `id` string — Id of the refund. Output only.
  - `merchantId` string, required — Id of the merchant. Output only.
  - `metadata` object — A key-value dictionary with custom metadata for the refund. All keys and values must be strings. For privacy protection, it is not allowed to use this dictionary for storing personal data (e.g. names and addresses).
  - `reference` string, required — External reference set by the merchant, must be between 6-18 characters long.
  - `scheme` 'SCHEME_UNSPECIFIED' | 'FASTER_PAYMENTS' | 'SEPA_INSTANT_CREDIT_TRANSFER' | 'SEPA_CREDIT_TRANSFER' | 'BACS' | 'CHAPS' — Payment scheme. - SCHEME_UNSPECIFIED: Default unspecified scheme. - FASTER_PAYMENTS: Faster payments scheme. - SEPA_INSTANT_CREDIT_TRANSFER: SEPA Instant Credit Transfer scheme. - SEPA_CREDIT_TRANSFER: SEPA Credit Transfer scheme. - BACS: BACS scheme. - CHAPS: CHAPS scheme.
  - `status` 'PENDING' | 'COMPLETED' | 'FAILED' — Status of the refund. - PENDING: Default value. - COMPLETED: Refund was successful. - FAILED: Refund failed to complete.
  - `transactionId` string, required — Id of the transaction to refund.
  - `updatedTime` string, date-time — The date and time when the refund was updated. Output only.

## Response `200`

A successful response.

- V1SettlementAccountRefund — Parameters for the settlement account refund to be created. Use of an `Idempotency-Key` header is required when making this request. The header value must be a non empty string.
  - `accountId` string, required — Id of the settlement account. Output only.
  - `amount` TypeCurrencyDenominatedAmount, required — The amount with regard to currency and its value should be accurately represent the monetary amount.
    - `currencyCode` string — The currency code which follows ISO-4217 standard.
    - `value` TypeExactNumber — ExactNumber to use representation, which is used in `BigDecimal`. A value of `12.13` with `unscaledValue = 1213` and `scale = 2`. We can later use `doubleValue = Math.pow(10, -scale) * unscaledValue` to get exact number.
      - `scale` string, int64 — The scale of the numeric value. `unscaledValue` is used with `scale` to accurately represent floating point values. The formula is `unscaledValue * (10^-scale)`. For example, if scale is 1 and unscaledValue is 1230, the end result would be 123.0.
      - `unscaledValue` string, int64 — The unscaled numeric value. `unscaledValue` is used with `scale` to accurately represent floating point values. The formula is `unscaledValue * (10^-scale)`. For example, if scale is 1 and unscaledValue is 1230, the end result would be 123.0.
  - `createdTime` string, date-time — The date and time when the refund was initiated. Output only.
  - `id` string — Id of the refund. Output only.
  - `merchantId` string, required — Id of the merchant. Output only.
  - `metadata` object — A key-value dictionary with custom metadata for the refund. All keys and values must be strings. For privacy protection, it is not allowed to use this dictionary for storing personal data (e.g. names and addresses).
  - `reference` string, required — External reference set by the merchant, must be between 6-18 characters long.
  - `scheme` 'SCHEME_UNSPECIFIED' | 'FASTER_PAYMENTS' | 'SEPA_INSTANT_CREDIT_TRANSFER' | 'SEPA_CREDIT_TRANSFER' | 'BACS' | 'CHAPS' — Payment scheme. - SCHEME_UNSPECIFIED: Default unspecified scheme. - FASTER_PAYMENTS: Faster payments scheme. - SEPA_INSTANT_CREDIT_TRANSFER: SEPA Instant Credit Transfer scheme. - SEPA_CREDIT_TRANSFER: SEPA Credit Transfer scheme. - BACS: BACS scheme. - CHAPS: CHAPS scheme.
  - `status` 'PENDING' | 'COMPLETED' | 'FAILED' — Status of the refund. - PENDING: Default value. - COMPLETED: Refund was successful. - FAILED: Refund failed to complete.
  - `transactionId` string, required — Id of the transaction to refund.
  - `updatedTime` string, date-time — The date and time when the refund was updated. Output only.

## Other responses

- `400` — The request does not pass validation. Please check the error message for more information.
- `401` — The scopes associated with the access token is not allowed the resource.
- `403` — The resource does not belong to subject associated with the access token.
- `404` — The merchant, account or transaction specified could not be found.
- `default` — An unexpected error response.

---

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