# 2. Refund (List)

## Refund (List) Service

<mark style="color:green;">`POST`</mark> `{{Base Adres}}/api/paywall/payment/bulk/batch/refund`

{% hint style="info" %}
Important: To use the batch refund service, you must include the parameters **apikeypublic** and **apiclientpublic** in the Header section.

[<mark style="color:green;">**PaymentAPI Address**</mark>](https://developer.paywall.one/payment-orchestration-integration-document/environment)
{% endhint %}

{% hint style="warning" %}
Refund requests must be sent <mark style="color:red;">after the day</mark> the payments occur. For payments to be reversed on the same day, the [cancellation](#refund-list-service) service should be used instead of the refund service.
{% endhint %}

{% hint style="info" %}
You can refund individual transactions within batch payments one by one. To do this, you should use the [refund](#refund-list-service) service.
{% endhint %}

**The parameters that must be sent to the service are as follows:**

<table><thead><tr><th width="191">Parameter</th><th width="106">Type</th><th width="126">Compolsory</th><th width="336">Description</th></tr></thead><tbody><tr><td>apikeypublic</td><td>string</td><td>Yes</td><td>The Public Key you obtained from the merchant panel.</td></tr><tr><td>apiclientpublic</td><td>string</td><td>Yes</td><td>The Public Client you obtained from the merchant panel.</td></tr></tbody></table>

**Refund Details:**

<table><thead><tr><th width="215">Parameter</th><th width="106">Type</th><th width="117">Compolsory</th><th width="336">Description</th></tr></thead><tbody><tr><td>Date</td><td>DateTime</td><td>Yes</td><td>The date on which the batch payment you want to refund was made.</td></tr><tr><td>MerchantUniqueCode</td><td>string</td><td>Yes</td><td>The tracking number you provided at the time of the batch payment.</td></tr></tbody></table>

**The sample JSON and example codes to be sent to the service are as follows:**

{% tabs %}
{% tab title="JSON" %}
{% code lineNumbers="true" %}

```json5
{
    "Payments": [
        {
            "MerchantUniqueCode": "PWL-010101010101",
            "Date": "2025-01-01"
        },
        {
            "MerchantUniqueCode": "PWL-010101010102",
            "Date": "2025-01-01"
        },
        {
            "MerchantUniqueCode": "PWL-010101010103",
            "Date": "2025-01-01"
        },
        {
            "MerchantUniqueCode": "PWL-010101010104",
            "Date": "2025-01-01"
        },
        {
            "MerchantUniqueCode": "PWL-010101010105",
            "Date": "2025-01-01"
        },
        {
            "MerchantUniqueCode": "PWL-010101010106",
            "Date": "2025-01-01"
        },
        {
            "MerchantUniqueCode": "PWL-010101010107",
            "Date": "2025-01-01"
        },
        {
            "MerchantUniqueCode": "PWL-010101010108",
            "Date": "2025-01-01"
        },
        {
            "MerchantUniqueCode": "PWL-010101010109",
            "Date": "2025-01-01"
        },
        {
            "MerchantUniqueCode": "PWL-010101010110",
            "Date": "2025-01-01"
        },
        {
            "MerchantUniqueCode": "PWL-010101010111",
            "Date": "2025-01-01"
        },
        {
            "MerchantUniqueCode": "PWL-010101010112",
            "Date": "2025-01-01"
        },
        {
            "MerchantUniqueCode": "PWL-010101010113",
            "Date": "2025-01-01"
        },
        {
            "MerchantUniqueCode": "PWL-010101010114",
            "Date": "2025-01-01"
        },
        {
            "MerchantUniqueCode": "PWL-010101010115",
            "Date": "2025-01-01"
        },
        {
            "MerchantUniqueCode": "PWL-010101010116",
            "Date": "2025-01-01"
        },
        {
            "MerchantUniqueCode": "PWL-010101010117",
            "Date": "2025-01-01"
        },
        {
            "MerchantUniqueCode": "PWL-010101010118",
            "Date": "2025-01-01"
        },
        {
            "MerchantUniqueCode": "PWL-010101010119",
            "Date": "2025-01-01"
        },
    ],
    "CallbackUrl": "https://yourwebsite.com/paywall/callback"
}
```

{% endcode %}
{% endtab %}
{% endtabs %}

**Parameters Returned from the Service**

<table><thead><tr><th width="280">Parameter</th><th width="123.33333333333331">Type</th><th>Description</th></tr></thead><tbody><tr><td>ErrorCode</td><td>int</td><td>Error code. Returns '0' if the operation is successful.</td></tr><tr><td>Result</td><td>bool</td><td>Returns <strong>true</strong> if the operation is successful, and <strong>false</strong> if it fails.</td></tr><tr><td>Message</td><td>string</td><td>Contains information or an error message related to the operation.</td></tr><tr><td><mark style="color:orange;">Body</mark> > Result</td><td>bool</td><td>Indicates whether the operation was successfully received. If <strong>true</strong>, it means Paywall has successfully received the request and placed it into the queue mechanism. Results will be delivered via callback notifications.</td></tr><tr><td><mark style="color:orange;">Body</mark> > TotalPaymentCount</td><td>int</td><td>Total transactions</td></tr></tbody></table>

**Example JSON Returned from the Service**

{% tabs %}
{% tab title="JSON" %}
{% code lineNumbers="true" %}

```json
{
    "ErrorCodeType": 1,
    "ErrorMessage": null,
    "ErrorCode": 0,
    "Result": true,
    "Message": "Batch refund created and enqueued",
    "Body": {
        "Result": true,
        "PaymentResults": [
            {
                "MerchantUniqueCode": "4049957f-520e-410b-8f6c-fedc9dac9a76",
                "Status": 1,
                "Message": "Added to bulk refund process",
                "BulkPaymentId": 2684,
                "ErrorMessage": null,
                "BulkPaymentJobId": 0
            },
            {
                "MerchantUniqueCode": "9d6d1cbf-4828-4654-87a8-9a1e763ad6a3",
                "Status": 1,
                "Message": "Added to bulk refund process",
                "BulkPaymentId": 2684,
                "ErrorMessage": null,
                "BulkPaymentJobId": 0
            },
            {
                "MerchantUniqueCode": "562a87ac-3320-421d-9920-90c4d30dec44",
                "Status": 1,
                "Message": "Added to bulk refund process",
                "BulkPaymentId": 2684,
                "ErrorMessage": null,
                "BulkPaymentJobId": 0
            }
        ]
    }
}
```

{% endcode %}
{% endtab %}
{% endtabs %}
