Fetch Transactions
This endpoint retrieves a paginated list of transactions for a merchant.
You can filter results by date range, payment type, customer email, transaction status, reference, and environment.
Endpoint
GET Report/GetMerchantTransactions
Headers
Authorization: Bearer
To authorize this API request, you need to include your apiKey as a bearer token. This is done by setting the Authorization header in your request. The header should have the format:
Authorization: "Bearer your_api_key"
Note: Get your API key from Settings > API Keys in your dashboard.
Query Parameters
The following query parameters are supported:
| Parameter | Type | Required | Description |
|---|---|---|---|
pageSize | number | Yes | Number of records to return per page. |
lastId | number | No | ID of the last record from the previous page (used for cursor-based pagination). |
skipPages | number | No | Number of pages to skip (for page-based pagination). |
startDate | string | Yes | Start date for filtering transactions. Format: YYYY-MM-DD. |
endDate | string | Yes | End date for filtering transactions. Format: YYYY-MM-DD. |
paymentType | string | No | Filters by payment type (e.g. Card, Transfer, USSD). |
customerEmail | string | No | Filters transactions by the customer's email address. |
status | string | No | Filters by transaction status (e.g. success, failed, pending). |
transactionReference | string | No | Filters by a specific transaction reference. |
isLive | boolean | Yes | true for live transactions, false for test/sandbox transactions. |
GET {{baseUrl}}/Report/GetMerchantTransactions?pageSize=5&lastId=57345&skipPages=2&startDate=2025-12-01&endDate=2025-12-01&paymentType=Card&customerEmail=ejeiokekeemmanuel@gmail.com&status=success&transactionReference=PP66639001881004184194&isLive=false
Response
The response returns a paginated list of transactions along with summary metadata. Use nextLastId from the response to fetch the next page by passing it as the lastId parameter in subsequent requests.
| Field | Type | Description |
|---|---|---|
responseCode | string | Response code. "00" indicates a successful request. |
responseMessage | string | Description of the response. |
data | object | Contains the list of transactions and pagination info. |
data.totalCount | number | Total number of transactions matching the filters. |
data.nextLastId | number | ID of the last transaction in the current page. Use this as lastId for the next page. |
data.transactions | array | Array of transaction records. |
data.transactions[].id | number | Unique transaction identifier. |
data.transactions[].firstname | string | null | Customer's first name (if available). |
data.transactions[].lastname | string | null | Customer's last name (if available). |
data.transactions[].accountNumber | string | Generated account number for the transaction. |
data.transactions[].accountName | string | Account name associated with the transaction. |
data.transactions[].amount | number | Transaction amount. |
data.transactions[].paymentType | string | Payment method used (e.g. Card, Transfer, USSD). |
data.transactions[].dateCreated | string | ISO 8601 timestamp when the transaction was created. |
data.transactions[].dateUpdated | string | ISO 8601 timestamp when the transaction was last updated. |
data.transactions[].email | string | null | Customer's email address (if available). |
data.transactions[].currency | string | Currency code (e.g. NGN). |
data.transactions[].transactionReference | string | Unique transaction reference. |
data.transactions[].country | string | Country where the transaction was processed. |
data.transactions[].phoneNumber | string | null | Customer's phone number (if available). |
data.transactions[].narration | string | null | Transaction narration (if available). |
data.transactions[].processor | string | Payment processor used (e.g. Wema, Stanbic). |
data.transactions[].paymentResponseCode | string | Response code from the payment processor. "00" indicates success. |
data.transactions[].paymentResponseMessage | string | Response message from the payment processor. |
{
"responseCode": "00",
"responseMessage": "Report fetched successfully",
"data": {
"totalCount": 154,
"transactions": [
{
"id": 58618,
"firstname": "Echezona",
"lastname": "Digital Gateway Ltd",
"accountNumber": "6513958689",
"accountName": "Echezona/Emino Sin Amor",
"amount": 27.84,
"paymentType": "Transfer",
"dateCreated": "2025-12-08T09:42:29.217933Z",
"dateUpdated": "2025-12-08T09:42:29.366013Z",
"email": "ejeiokekeemmanuel@gmail.com",
"currency": "NGN",
"transactionReference": "PP18639007836993495961",
"country": "Nigeria",
"phoneNumber": "",
"narration": null,
"processor": "Wema",
"paymentResponseCode": "00",
"paymentResponseMessage": "Transaction Successful"
},
{
"id": 57345,
"firstname": null,
"lastname": null,
"accountNumber": "6515275642",
"accountName": "Echezona/Emino Sin Amor",
"amount": 20.00,
"paymentType": "Transfer",
"dateCreated": "2025-12-04T12:35:37.710575Z",
"dateUpdated": "2025-12-04T12:35:37.710575Z",
"email": null,
"currency": "NGN",
"transactionReference": "648517355982",
"country": "Nigeria",
"phoneNumber": null,
"narration": null,
"processor": "Wema",
"paymentResponseCode": "00",
"paymentResponseMessage": "Transaction Successful"
}
],
"nextLastId": 56046
}
}
Pagination
This endpoint supports two pagination methods:
Cursor-based pagination (recommended):
- Use the
lastIdparameter to fetch the next page - On the first request, omit
lastIdto start from the beginning - After each response, use the
nextLastIdvalue from the response as thelastIdparameter in your next request - Example: If the response contains
"nextLastId": 56046, your next request should includelastId=56046
Page-based pagination:
- Use the
skipPagesparameter to skip a specific number of pages - Set
skipPages=0for the first page,skipPages=1for the second page, and so on - Calculate the number of pages to skip based on your
pageSize:skipPages = (desiredPageNumber - 1)
Example pagination flow:
- First request:
pageSize=5&startDate=2025-12-01&endDate=2025-12-01&isLive=false - Response includes
nextLastId: 56046 - Next request:
pageSize=5&lastId=56046&startDate=2025-12-01&endDate=2025-12-01&isLive=false - Continue using the new
nextLastIdfrom each response for subsequent pages