Returns a paginated list of merchant fee charges for a given date or date range, based on the charge date.
Either date or fromDate/toDate must be provided.
The endpoint supports filtering and sorting via the filters and sorts parameters (see List Transactions for the filter operator table).
For one merchant, one rail and one statement period, the StatementOnly charges - the derived InterchangeAndPassthrough entry included - sum exactly to the amount the provider's statement says was deducted. Nothing that statement billed is missing from this list, and nothing in it was billed twice.
Examples:
- Single day:
?date=2026-07-01 - Everything a month billed outside the daily settlement reports:
?fromDate=2026-07-01&toDate=2026-07-31&filters=source==StatementOnly - One kind of fee:
?fromDate=2026-07-01&toDate=2026-07-31&filters=category==StatementFee
Query parameters
-
A single day to report on. Either
dateor at least one offromDate/toDatemust be provided. Whendateis given it takes precedence and the range is that single day. Only the date part is used; any time component is ignored. -
Inclusive start of the date range. If omitted while
toDateis given, the range is the single daytoDate. Only the date part is used; any time component is ignored. -
Inclusive end of the date range. If omitted while
fromDateis given, the range is the single dayfromDate. Only the date part is used; any time component is ignored. -
Comma-separated list of merchant IDs to report on. Forward-compatible parameter for multi-merchant API keys; currently every ID must be the merchant resolved from the API key, and any other ID is rejected with
401. Omit it to default to that merchant. -
Filter criteria in the format: field==value,field!=value Multiple filters can be separated by commas. Available fields: category, source, amount, chargeDate
-
Sort criteria as comma-separated field names. Prefix a field with
-for descending order. Available fields: category, source, amount, chargeDate -
Page number to retrieve (starts at 1). For example, if you have 100 records with 10 per page, page 2 gives you records 11 to 20.
Minimum value is
1. Default value is1. -
Number of records per page. For example, if you have 100 records with 10 per page, page 2 gives you records 11 to 20.
Minimum value is
1, maximum value is100. Default value is10.
curl \
--request GET 'https://api.omni.integratedcommerce.io/v1/fee-charges' \
--header "x-api-key: $API_KEY"
{
"totalCount": 3,
"page": 1,
"pageSize": 10,
"totalPages": 1,
"hasNextPage": false,
"hasPreviousPage": false,
"items": [
{
"id": "mfc_01JZ5G4K8WQT2XB7RD9NVMC3EH",
"source": "StatementOnly",
"category": "AuthorizationFee",
"status": "Posted",
"currency": "USD",
"amount": 2995,
"chargeDate": "2026-07-01",
"periodStart": "2026-06-01",
"periodEnd": "2026-06-30",
"description": "AUTHORIZATION FEES"
},
{
"id": "mfc_01JZ5G4K8WYN6PSA3KTE5D2QVX",
"source": "StatementOnly",
"category": "InterchangeAndPassthrough",
"status": "Posted",
"currency": "USD",
"amount": 3299,
"chargeDate": "2026-07-01",
"periodStart": "2026-06-01",
"periodEnd": "2026-06-30",
"description": "Interchange and Passthrough fees"
},
{
"id": "mfc_01JZ5G4K8XCD4RQY7LME2W9SVB",
"source": "StatementOnly",
"category": "Other",
"status": "Posted",
"currency": "USD",
"amount": 400,
"chargeDate": "2026-07-01",
"periodStart": "2026-06-01",
"periodEnd": "2026-06-30",
"description": "NEW PROVIDER FEE WORDING"
}
]
}
{
"totalCount": 1,
"page": 1,
"pageSize": 10,
"totalPages": 1,
"hasNextPage": false,
"hasPreviousPage": false,
"items": [
{
"id": "mfc_01JZ5G4K8WZP7QDB4MTF6E3RWY",
"source": "SettlementLinked",
"category": "TransactionFee",
"status": "Posted",
"currency": "USD",
"amount": 127,
"chargeDate": "2026-07-01",
"description": "Per-transaction settlement fee",
"settlementId": "stl_01JZ5F1P7A2C9E4G6H8K0M2N4Q",
"settledTransaction": {
"transactionId": "trx_01JZ5EXH9GVK3M7T2QSBWD48RC",
"gatewayTransactionId": "1620000000770632947",
"matchStatus": "Matched"
},
"feeBreakdown": {
"originationFee": 127
}
}
]
}
{
"code": 2000,
"status": "Rejected",
"message": "Either 'date' or 'fromDate'/'toDate' must be provided",
"traceId": "1-6838be96-74c62f8e2804352739e63476",
"timestamp": "2026-07-01T20:07:50.4723483Z",
"errorDetails": []
}
{
"code": 1000,
"status": "Rejected",
"message": "API key cannot be empty",
"traceId": "1-6838be96-74c62f8e2804352739e63476",
"timestamp": "2025-05-29T20:07:50.4723483Z",
"errorDetails": []
}