# Payment Transactions Export

This endpoint enables you to retrieve all transaction data processed by Zotlo using filters such as date range, package, and country. The endpoint supports cursor-based pagination, allowing you to fetch large datasets efficiently and maintain stable integration workflows.

The service operates with the **GET** method.

<table data-header-hidden><thead><tr><th width="99.640625"></th><th></th></tr></thead><tbody><tr><td>Method</td><td><h4>  <mark style="color:green;background-color:$primary;"><code>GET</code></mark></h4></td></tr><tr><td>URL</td><td><pre data-overflow="wrap" data-full-width="false"><code>https://api.zotlo.com/v1/reports/activity/transaction
</code></pre></td></tr></tbody></table>

## **Request Parameters**

<table><thead><tr><th width="176.16015625">Field</th><th width="115.48828125">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>limit</code></td><td>Optional</td><td>Number of records to return in a single page. Default: <code>25</code>. Maximum: <code>100</code>.</td></tr><tr><td><code>country</code></td><td>Optional</td><td>Filters transactions by country where the payment was processed (2-letter ISO code, e.g. <code>UK</code>, <code>US</code>).</td></tr><tr><td><code>package_id</code></td><td>Optional</td><td>Filters transactions by the associated <code>packageId</code>.</td></tr><tr><td><code>start_date</code></td><td>Optional</td><td>Lists transactions created <strong>on or after</strong> this date. Format: <code>YYYY-MM-DD</code></td></tr><tr><td><code>end_date</code></td><td>Optional</td><td>Lists transactions created <strong>on or before</strong> this date. Format: <code>YYYY-MM-DD</code>.</td></tr><tr><td><code>before</code></td><td>Optional</td><td>Cursor token to fetch the <strong>previous</strong> page. Use the value returned under <code>paging.cursors.previous</code> from the last response.</td></tr><tr><td><code>after</code></td><td>Optional</td><td>Cursor token to fetch the <strong>next</strong> page. Use the value returned under <code>paging.cursors.next</code> from the last response.</td></tr></tbody></table>

## **Sample Request**

{% code overflow="wrap" %}

```js
GET https://api.zotlo.com/v1/reports/activity/transaction?limit=50&start_date=2025-11-01&end_date=2025-11-30 HTTP/1.1
AccessKey: ••••••
AccessSecret: ••••••
Content-Type: application/json
ApplicationId: •
Language: ••
```

{% endcode %}

{% hint style="info" %}
You can find your **AccessKey** and **AccessSecret** in the Zotlo Panel under **Developer Tools → API Keys**

Sending **ApplicationId** is optional.
{% endhint %}

## Successful Response

{% code overflow="wrap" %}

```json
{
  "meta": {
    "requestId": "5896c0267514-REQ-6924605fb81f4",
    "httpStatus": 200
  },
  "result": {
    "data": [
      {
        "id": 1723,
        "paymentType": "subscription",
        "originalTransactionId": "29d557b4-2563-497b-ad1f-677ac6910b81",
        "transactionId": "29d557b4-2563-497b-ad1f-677ac6910b81",
        "packageId": "web_premium",
        "status": "start_paid",
        "purchaseDate": "2025-11-10 08:27:37",
        "originalPurchaseDate": "2025-11-10 08:27:37",
        "price": "20.00",
        "currency": "USD",
        "country": "US",
        "expireDate": "2025-11-10 08:28:08",
        "subscriberId": "3a33eb5d-3e4b-4875-916f-7e9fb5867f3f",
        "creditCard": "37442754***1042",
        "refundPrice": "20.00",
        "refundDate": "2025-11-10 08:28:08",
        "refundReason": "{\"reason\":\"\",\"user\":\"API: \"}",
        "isRefund": 1,
        "providerName": "Zotlo",
        "jsonPayload": "{\"forceWebhook\":true,\"cardBrand\":\"amex\",\"threeds\":\"0\",\"installment\":\"1\",\"bank\":\"testbank\",\"subscriberIpAddress\":\"0.0.0.0\"}",
        "quantity": 1,
        "packagePrice": "20.00",
        "subscriptionId": 343
      },
      {
        "id": 1722,
        "paymentType": "subscription",
        "originalTransactionId": "6edc57b0-86a1-4ba7-bf9a-81d05afbf505",
        "transactionId": "6edc57b0-86a1-4ba7-bf9a-81d05afbf505",
        "packageId": "web_premium",
        "status": "start_paid",
        "purchaseDate": "2025-11-10 08:19:29",
        "originalPurchaseDate": "2025-11-10 08:19:29",
        "price": "20.00",
        "currency": "USD",
        "country": "US",
        "expireDate": "2025-11-10 08:26:59",
        "subscriberId": "8aa4de92-a86d-4330-bb3c-6995a5f837ed",
        "creditCard": "37442754***1042",
        "refundPrice": "20.00",
        "refundDate": "2025-11-10 08:26:59",
        "refundReason": "{\"reason\":\"\",\"user\":\"API: \"}",
        "isRefund": 1,
        "providerName": "Zotlo",
        "jsonPayload": "{\"forceWebhook\":true,\"cardBrand\":\"amex\",\"threeds\":\"0\",\"installment\":\"1\",\"bank\":\"testbank\",\"subscriberIpAddress\":\"0.0.0.0\"}",
        "quantity": 1,
        "packagePrice": "20.00",
        "subscriptionId": 342
      }
    ],
    "paging": {
      "cursors": {
        "previous": null,
        "next": "DPn5BRhxQmvSvYRkfK3KQXUzYXpDSlcvUVVQREluUUxGbDFFR2xKV1dJNzM1Wnc2aE4xcERTNHdVWFRQV21selI1UDFuOWJ2Z0d4TmJCY3JFK3BzbTJxM0lkc3JGcVlmSThCK1ZYYUVPNWxmSnlTb0lhR0hnY2tBeE9HNEd5RFdnRFBOazVpMDlUZ1N1L1FuL0tCeDFzaUdxOGJLSFljZGdiTSttRzlkNzBXbXZPUnI0RWNWOHlUcDk3S1M1ZWlZbFBva0o1UENXV0RkOXlJTTdDUUtFalh1bEt2YzFTcUd6Nk9qUzBnNGRyVWcxbGZ2L2RBS2pvSVpNbVRPOE54WUZyQ3pMaFZtenhvbG4veHg"
      },
      "previous": "https://local-api.zotlo.com:39443/v1/reports/activity/transaction",
      "next": "https://local-api.zotlo.com:39443/v1/reports/activity/transaction?after=DPn5BRhxQmvSvYRkfK3KQXUzYXpDSlcvUVVQREluUUxGbDFFR2xKV1dJNzM1Wnc2aE4xcERTNHdVWFRQV21selI1UDFuOWJ2Z0d4TmJCY3JFK3BzbTJxM0lkc3JGcVlmSThCK1ZYYUVPNWxmSnlTb0lhR0hnY2tBeE9HNEd5RFdnRFBOazVpMDlUZ1N1L1FuL0tCeDFzaUdxOGJLSFljZGdiTSttRzlkNzBXbXZPUnI0RWNWOHlUcDk3S1M1ZWlZbFBva0o1UENXV0RkOXlJTTdDUUtFalh1bEt2YzFTcUd6Nk9qUzBnNGRyVWcxbGZ2L2RBS2pvSVpNbVRPOE54WUZyQ3pMaFZtenhvbG4veHg"
    }
  }
}
```

{% endcode %}

## Key **Response Fields**

<table><thead><tr><th width="194.51953125">Field</th><th>Description</th></tr></thead><tbody><tr><td>meta.requestId</td><td>Unique ID generated by Zotlo for this request (useful for debugging and support).</td></tr><tr><td>meta.httpStatus</td><td>HTTP status code for the response (e.g. <code>200</code>).</td></tr><tr><td>result.data</td><td>Array of payment transaction records returned for this page.</td></tr><tr><td>result.paging.cursors.previous</td><td>Cursor token to fetch the previous page. Send this value as <code>before</code> in the next request.</td></tr><tr><td>result.paging.cursors.next</td><td>Cursor token to fetch the next page. Send this value as <code>after</code> in the next request.</td></tr><tr><td>result.paging.previous</td><td>Full URL for the previous page request (helper link).</td></tr><tr><td>result.paging.next</td><td>Full URL for the next page request (helper link).</td></tr></tbody></table>

## **Failed Response**

All failed responses follow the same standard error format.\
(See: [**Error Handling**](https://docs.zotlo.com/integrating-zotlo/api-reference/error-handling))
