> ## Documentation Index
> Fetch the complete documentation index at: https://devzone.nayax.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Request Refunds

export const EndpointCard = ({method = "API", title, children, href, arrow = true}) => {
  const METHOD_STYLES = {
    GET: {
      bg: "mint-bg-green-400/20 dark:mint-bg-green-400/20",
      text: "mint-text-green-700 dark:mint-text-green-400",
      border: "mint-border-green-300 dark:mint-border-green-700"
    },
    POST: {
      bg: "mint-bg-blue-400/20 dark:mint-bg-blue-400/20",
      text: "mint-text-blue-700 dark:mint-text-blue-400"
    },
    PUT: {
      bg: "mint-bg-yellow-400/20 dark:mint-bg-yellow-400/20",
      text: "mint-text-yellow-700 dark:mint-text-yellow-400"
    },
    PATCH: {
      bg: "mint-bg-orange-400/20 dark:mint-bg-orange-400/20",
      text: "mint-text-orange-700 dark:mint-text-orange-400"
    },
    DELETE: {
      bg: "mint-bg-red-400/20 dark:mint-bg-red-400/20",
      text: "mint-text-red-700 dark:mint-text-red-400"
    },
    API: {
      bg: "mint-bg-black",
      text: "mint-text-white"
    }
  };
  const MethodBadge = ({method}) => {
    const style = METHOD_STYLES[method?.toUpperCase()] ?? METHOD_STYLES.GET;
    return <span className={`
          method-pill rounded-lg font-bold px-1.5 py-0.5 text-xs leading-5 ${style.bg} ${style.text}`}>
        {method?.toUpperCase()}
      </span>;
  };
  const content = <div className="group flex items-center gap-4 border border-gray-200 dark:border-gray-700 rounded-xl p-5 bg-white dark:bg-[#1e1e1e] hover:border-gray-400 dark:hover:border-gray-500 hover:shadow-md transition-all cursor-pointer">
      {}
      <div className="flex-1 min-w-0">
        <p className="font-semibold text-gray-900 dark:text-white text-sm leading-snug">{title}</p>
        {children && <p className="mt-1 text-sm text-gray-500 dark:text-gray-400 line-clamp-2">{children}</p>}
      </div>

      {}
      <div className="shrink-0">
        <MethodBadge method={method} />
      </div>
    </div>;
  if (!href) return content;
  return <a href={href} className="block no-underline border-b-0 mb-2">
      {content}
    </a>;
};

The refund process begins by submitting a request with details such as the refund amount and reason. This notifies the customer that the refund is being processed. We will describe this process in more detail on this page.

<Warning>
  **Credit Cards Only**

  Refunds can only be requested for transactions done through Credit Card. This option is not available for prepaid cards.
</Warning>

In Nayax Core, refunds can be requested through the **Dynamic Transactions Monitor**. Follow the steps below to do so.

1. Access **Reports > Online Reports > Dynamic Transactions Monitor**.
2. Search for the transaction to refund. You can use the filter feature to make this easier.
3. Right-click the transaction you want to refund.
4. Click **Request Refund**

   <Frame>
     <img src="https://mintcdn.com/nayax-44d6e37b/SZdrogZN6xHGu-sq/images/docs/request-refunds/image1.png?fit=max&auto=format&n=SZdrogZN6xHGu-sq&q=85&s=623aab1fa18dc27fdc03c6c8609e9785" width="1920" height="910" data-path="images/docs/request-refunds/image1.png" />
   </Frame>
5. A pop-up window will appear. In it, choose if the refund is complete or partial and write the reason for the refund.
6. Click **Request Refund**.

   <Frame>
     <img src="https://mintcdn.com/nayax-44d6e37b/SZdrogZN6xHGu-sq/images/docs/request-refunds/image2.png?fit=max&auto=format&n=SZdrogZN6xHGu-sq&q=85&s=7d9c1c827f3c71eded33d65ca0c6716f" width="1920" height="910" data-path="images/docs/request-refunds/image2.png" />
   </Frame>

## Lynx API

This process can be performed programmatically through the Lynx API. The following endpoint is used to process the refund.

<EndpointCard title="Request a Payment Refund" href="/reference/lynx/payment/request-a-payment-refund" method="post" />

<Warning>
  **Authentication**

  Refer to the [Security & Token](/docs/manage-data-operations/lynx-api/security) page of this documentation to learn how to access your tokens and how to properly use them to authenticate your API requests.
</Warning>

### Initiating the request

To start the request, use the [Request a Payment Refund](/reference/lynx/payment/request-a-payment-refund) endpoint to request a refund. Providing the attributes regarding the rebate in the body parameters of the request, as exemplified below:

```sh Request theme={null}
curl --request POST \
     --url https://qa-lynx.nayax.com/operational/v1/payment/refund-request \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "RefundAmount": 0,
  "RefundEmailList": "string",
  "RefundReason": "string",
  "TransactionId": 0,
  "SiteId": 0,
  "MachineAuTime": "2024-10-10T16:30:37.179Z"
}
'
```

Below, you can see a description of each of the parameters:

| **Name**            | **Type**        | **Description**                                                             |
| :------------------ | :-------------- | :-------------------------------------------------------------------------- |
| **RefundAmount**    | `double / null` | The amount to be refunded to the customer.                                  |
| **RefundEmailList** | `string / null` | A list of email addresses to notify about the refund, separated by commas.  |
| **RefundReason**    | `string / null` | The reason for requesting the refund.                                       |
| **TransactionId**   | `int64`         | The unique identifier of the transaction for which the refund is requested. |
| **SiteId**          | `int32`         | The unique identifier of the site where the transaction occurred.           |
| **MachineAuTime**   | `date-time`     | The machine's authorization time is associated with the transaction.        |

### How to obtain TransactionID and SiteID

Retrieve `TransactionId` and `SiteId` from the Lynx API using the [Get Last Sales for Machine](/reference/lynx/machines/get-last-sales-for-machine-by-machineid) endpoint with the `MachineID`. The response object includes both values.

## Request Status

Once you send the request, a notification email will be sent to the email address entered in the request parameters.

The refund is now in the `pending` status and will need to be approved or declined. See [Approve or Decline a Refund](/docs/manage-data-operations/lynx-api/refunds/approve-or-decline-a-refund) for more details.
