> For the complete documentation index, see [llms.txt](https://developer.paywall.one/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.paywall.one/payment-orchestration-integration-document/payment-service/18.-batch-processing-method/7.-callback-retry.md).

# 7. Callback Retry

## **Callback Retry**

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

{% hint style="info" %}
**Important:** To use the callback retry service, you must include the **apikeypublic** and **apiclientpublic** parameters in the header.

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

{% hint style="warning" %}
This service can be used for transactions up to **7 days old**. Callback retry is not supported for transactions older than 7 days.
{% endhint %}

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

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

**Sent Parameters:**

<table><thead><tr><th width="215">Parameter</th><th width="106">Type</th><th width="140.28125">Compulsory</th><th width="336">Description</th></tr></thead><tbody><tr><td>Date</td><td>DateTime</td><td>Yes</td><td><p>The date on which the relevant bulk payment was executed</p><p></p><p><strong>Format:</strong> yyyy-MM-dd</p></td></tr><tr><td>MerchantUniqueCode</td><td>string</td><td><strong>Yes</strong></td><td>The tracking number you provided during the bulk payment</td></tr><tr><td>CallbackBodyCompression</td><td>bool</td><td>No</td><td>If this parameter is sent as <strong>true</strong>, the callback will be compressed and delivered to the address specified in the <strong>CallbackAddress</strong> parameter.</td></tr></tbody></table>

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

{% tabs %}
{% tab title="JSON" %}

```json5
{
    "Date": "2025-03-26",
    "MerchantUniqueCode": "b33bad73-67df-4b5f-a068-36ba38cbd588",
    "CallbackBodyCompression": true
}
```

{% endtab %}
{% endtabs %}

**Parameters Returned from the Service**

<table><thead><tr><th width="280">Parameter</th><th width="128.33333333333331">Type</th><th>Description</th></tr></thead><tbody><tr><td>ErrorCode</td><td>int</td><td><strong>Error code.</strong> Returns <code>'0'</code> 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 about the operation or an error message.</td></tr></tbody></table>

**Sample JSON Response from the Service**

{% tabs %}
{% tab title="Successful ✅" %}

```json
{
    "ErrorCodeType": 1,
    "ErrorMessage": null,
    "ErrorCode": 0,
    "Result": true,
    "Message": "",
    "Body": {
        "Message": "Bulk payment file callback has been scheduled",
        "BulkPaymentId": 4034
    }
}
```

{% endtab %}

{% tab title="Failed ❌ " %}

```json
{
    "ErrorCodeType": 1,
    "ErrorMessage": null,
    "ErrorCode": 404,
    "Result": false,
    "Message": "Bulk payment not found or does not belong to this merchant",
    "Body": null
}
```

{% endtab %}
{% endtabs %}
