---
title: "Make a refund"
method: POST
path: "/refunds"
---

# Make a refund

`POST /refunds`

This service allows you to create and read refunds of an existing payment.

## Request body

- object
  - `payment_id` string, required — The payment ID.</br></br>Length: 50.
  - `notification_url` string — If a refund is pending, the refund confirmation is sent asynchronously to this URL.</br></br>Length: 500.
  - `custom_merchant_name` string — Custom merchant's name. Recommended if you need to define a different name to show on a payout link request. It's included in the email subject sent to the user as well.</br></br>Length: 100.
  - `amount` number, float — The refund amount, always in local currency. If no amount is specified, the total payment amount will be refunded by default. Required if `currency` is present.<br>This is mandatory for refunds with splits.</br></br>Length: 16,2. Example 9999999999999999.99
  - `currency` string — Currency of the Amount. Required if `amount` is present.</br></br>Length: 3.
  - `description` string — Description of the refund.</br></br>Length: 200.
  - `order_refund_id` string — ID given by the merchant in their system.<br><br>Length: 125.
  - `beneficiary_name` string — User's first name. Recommended if the `type` of the payment is `TICKET` or `BANK_TRANSFER`.</br></br>Length: 50.
  - `beneficiary_lastname` string — User's last name. Recommended if the `type` of the payment is `TICKET` or `BANK_TRANSFER`.</br></br>Length: 50.
  - `bank` string — User's bank name. Recommended if the type of the payment is `TICKET` or `BANK_TRANSFER`.</br></br>Length: 40.
  - `bank_code` string — User's bank code. Recommended if the `type` of the payment is `TICKET` or `BANK_TRANSFER`.</br></br>Length: 45.
  - `bank_account` string — User's bank account number. Recommended if the type of the payment is `TICKET` or `BANK_TRANSFER`.</br></br>Length: 45.
  - `bank_account_type` string — Type of bank account. `C`: for Current accounts; `S`: for Savings accounts; `I`: International accounts. Recommended if the type of the payment is `TICKET` or `BANK_TRANSFER`.</br></br>Length: 40.
  - `bank_branch` string — User's bank branch code. Recommended if the type of the payment is `TICKET` or `BANK_TRANSFER`.</br></br>Length: 45.
  - `bank_branch_name` string — User's bank branch name. Recommended if the `type` of the payment is `TICKET` or `BANK_TRANSFER`.</br></br>Length: 40.
  - `document_type` string — User's document type. Recommended if the type of the payment is `TICKET` or `BANK_TRANSFER`.</br></br>Length: 10.
  - `document_id` string — User's document id. Recommended if the type of the payment is `TICKET` or `BANK_TRANSFER`.</br></br>Length: 40.
  - `phone` string — User's phone. Recommended if the type of the payment is `TICKET` or `BANK_TRANSFER`.</br></br>Length: 20.
  - `email` string — User's email. Recommended if the type of the payment is `TICKET` or `BANK_TRANSFER`.</br></br>Length: 100.
  - `address` string — User's address. Recommended if the type of the payment is `TICKET` or `BANK_TRANSFER`.</br></br>Length: 200.
  - `city` string — User's city. Recommended if the type of the payment is `TICKET` or `BANK_TRANSFER`.</br></br>Length: 100.
  - `splits` object[] — Allows to split a transaction between one or more accounts.<br>This is mandatory for captures and sales with splits.
    - `account_id` string, required — Destination account’s ID.
    - `amount` string, required — Destination amount in the currency of the request.

## Response `200`

200

- object
  - `id` string
  - `payment_id` string
  - `order_refund_id` string
  - `status` string
  - `currency` string
  - `created_date` string
  - `amount` number
  - `status_code` integer
  - `status_detail` string
  - `notification_url` string
  - `amount_refunded` number

---

[API](https://skmtc.net/dlocal/apis/payins.md) · [All operations](https://skmtc.net/dlocal/apis/payins/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/dlocal/payins/versions/d87e090020f9/schema)
