> For the complete documentation index, see [llms.txt](https://qosic.gitbook.io/qospay/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://qosic.gitbook.io/qospay/merchant-api/reporting/transactions.md).

# transactions

Tous les rapports sont limités au marchand authentifié. Les rapports de wallets sont également limités à l’environnement actuel du marchand et excluent les wallets internes.

```http
GET /api/v1/merchant/reports/transactions?page=0&size=20&status=SUCCESSFUL&currencyCode=NGN&createdFrom=2026-08-01&createdTo=2026-08-10 HTTP/1.1
Host: api.example.com
Authorization: Bearer <access-token>
Accept: application/json
```

```bash
curl --get "https://api.example.com/api/v1/merchant/reports/transactions" \
  --header "Authorization: Bearer ${QOS_ACCESS_TOKEN}" \
  --header "Accept: application/json" \
  --data-urlencode "page=0" \
  --data-urlencode "size=20" \
  --data-urlencode "status=SUCCESSFUL" \
  --data-urlencode "currencyCode=NGN" \
  --data-urlencode "createdFrom=2026-08-01" \
  --data-urlencode "createdTo=2026-08-10"
```

## Paramètres de requête

| Paramètre           | Obligatoire | Description                                                                                                    |
| ------------------- | ----------- | -------------------------------------------------------------------------------------------------------------- |
| `page`              | Non         | Numéro de page indexé à partir de zéro. Les valeurs négatives sont normalisées à `0`. Valeur par défaut : `0`. |
| `size`              | Non         | Taille de page comprise entre 1 et 100. Les valeurs sont limitées à cette plage. Valeur par défaut : `20`.     |
| `transRef`          | Non         | Recherche partielle insensible à la casse.                                                                     |
| `status`            | Non         | Recherche partielle insensible à la casse. Préférez une valeur de statut exacte.                               |
| `msisdn`            | Non         | Recherche partielle insensible à la casse.                                                                     |
| `operatorId`        | Non         | Recherche partielle insensible à la casse.                                                                     |
| `countryCode`       | Non         | Recherche partielle insensible à la casse.                                                                     |
| `requestType`       | Non         | Enum exacte : `Collection`, `FundTransfer` ou `BillsPayment`.                                                  |
| `currencyCode`      | Non         | Recherche partielle insensible à la casse.                                                                     |
| `providerReference` | Non         | Recherche partielle insensible à la casse.                                                                     |
| `createdFrom`       | Non         | Date UTC de début inclusive, au format `yyyy-MM-dd`.                                                           |
| `createdTo`         | Non         | Date UTC de fin inclusive, au format `yyyy-MM-dd`.                                                             |

## Réponse réussie — HTTP 200

```json
{
  "data": {
    "items": [
      {
        "id": 12045,
        "transRef": "FT-20260810-000001",
        "requestType": "FundTransfer",
        "amount": "5000.00",
        "fee": "50.0000",
        "netAmount": "5000.00",
        "currencyCode": "NGN",
        "status": "SUCCESSFUL",
        "responseCode": "00",
        "providerReference": "PRV-93284723",
        "accountName": "JOHN DOE",
        "msisdn": "2348012345678",
        "createdAt": "2026-08-10T14:20:31"
      }
    ],
    "pageNumber": 0,
    "pageSize": 20,
    "totalElements": 1,
    "totalPages": 1,
    "hasNext": false,
    "hasPrevious": false
  },
  "message": "Transactions retrieved successfully",
  "success": true,
  "responseCode": "00"
}
```

Les résultats sont triés du plus récent au plus ancien selon la date de création, puis selon l’ID de transaction.
