---
updatedAt: 2025-09-24T00:51:57.000Z
agentTools:
  projectIndex: https://docs.skipify.com/llms.txt
---

# Refund Order

Use this endpoint to refund orders with funds that have already been settled

<HTMLBlock>{`
<style>
.App {
  --font-family: 'poppins', 'helvetica';
}
</style>
`}</HTMLBlock>

# Overview

The request body has an amount field. If this field is not passed with a value, the API will refund the full amount of the order. If you specify an amount in the request body, then that amount will be refunded.

> 👍 This endpoint uses API Key Authentication
>
> Check out our [API Key Authentication Section](https://docs.skipify.com/docs/api-authentication-api-key) section to learn more

To refund an order, send an API call to:

> **Staging**: `POST https://orders-management.staging.skipify.com/{orderId}/refund`
>
> **Production**: `POST https://orders-management.skipify.com/{orderId}/refund`

# Request Body Parameters

<Table align={["left","left","left","left"]}>
  <thead>
    <tr>
      <th>
        Parameter Name
      </th>

      <th>
        Required
      </th>

      <th>
        Type
      </th>

      <th>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        amount
      </td>

      <td>
        no
      </td>

      <td>
        integer
      </td>

      <td>
        If no value is provided for this field, the API will refund the entire amount from the previous transaction.  

        If you specify an amount, it will be refunded only if it is less than or equal to the total amount of the captured funds.
      </td>
    </tr>

    <tr>
      <td>
        transactionId
      </td>

      <td>
        no
      </td>

      <td>
        string
      </td>

      <td>
        Pass the transactionId received from the ORDER\_PAYMENT\_SUCCEEDED webhook event.\
        This can be passed in all cases.  It is required in a [split-payment](https://docs.skipify.com/docs/skipify-features#split-payments) scenario, when multiple transactions are tied to one orderId.
      </td>
    </tr>
  </tbody>
</Table>

## Request Body Example

```json JSON Request Body
{
  "amount": 1523, // Represents $15.23
  "transactionId": "string"
}
```

# API Response

## Response Body Parameters

| Parameter Name   | Type             | Description                                                                 |
| :--------------- | :--------------- | :-------------------------------------------------------------------------- |
| orderId          | string           | The Skipify order id                                                        |
| merchantId       | string           | The Skipify Merchant identifier                                             |
| amount           | integer          | The amount captured                                                         |
| transactionId    | string           | The Skipify transaction identifier                                          |
| status           | string           | Allowed Values = Refunded, Failed                                           |
| pspTransactionId | string           | The transactionId from the PSP                                              |
| message          | string, nullable | This message will be populated if there was an error processing the capture |

### Response Body Example

```json JSON Response Body
{
  "orderId": "string",
  "merchantId": "string",
  "amount": integer,
  "transactionId": "string",
  "status": "Refunded",
  "pspTransactionId": "string",
  "message": "string"
}
```

***

<HTMLBlock>{`
<a href="https://www.skipify.com/get-in-touch"><img src="https://files.readme.io/279452f-CTA_Contact_Footer_1440x205_Final.png" alt="Skipify baner with link to contact us form"></a>
`}</HTMLBlock>