Skip to main content
GET
/
payment
/
transactions
Query Transactions
curl --request GET \
  --url https://api.cartevo.co/api/v1/payment/transactions \
  --header 'Authorization: Bearer <token>'
{
  "success": true,
  "message": "Transactions retrieved successfully",
  "data": [
    {
      "transaction_id": "550e8400-e29b-41d4-a716-446655440000",
      "status": "SUCCESS",
      "amount": 1000,
      "currency": "XAF",
      "phone_number": "237670000000",
      "country": "CM",
      "operator": "mtn",
      "type": "COLLECTION",
      "external_id": "ORD-2024-001",
      "reason": "Invoice payment",
      "description": "Payment collection transaction",
      "created_at": "2025-01-08T12:00:00.000Z",
      "updated_at": "2025-01-08T12:05:00.000Z",
      "error_message": "<string>"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 15,
    "totalPages": 1
  }
}

Overview

GET /payment/transactions returns a paginated list of your company’s payment transactions (collections and payouts), with optional filtering by status, type, external ID, or date range.

When to use it

  • Reconcile your books against Cartevo’s records.
  • Find a transaction by external_id when you’ve lost the Cartevo transaction_id.
  • Build a dashboard view of recent payment activity.

Prerequisites

  • Authenticated as a company user.

Request

Headers

NameRequiredDescription
AuthorizationYesBearer <access_token>

Query parameters

NameTypeDefaultDescription
statusstringFilter by status. One of PENDING, PROCESSING, SUCCESS, FAILED.
typestringFilter by direction. One of COLLECTION, PAYOUT.
external_idstringFilter by your idempotency key. Substring match.
from_datestringISO 8601 datetime. Includes transactions created on/after this instant. Example: 2026-04-01T00:00:00Z.
to_datestringISO 8601 datetime. Includes transactions created strictly before this instant.
pageinteger11-indexed page number.
limitinteger20Items per page. Max recommended: 100.

Response

200 — Success

{
  "success": true,
  "statusCode": 200,
  "message": "20 items retrieved successfully",
  "data": [
    {
      "transaction_id": "550e8400-e29b-41d4-a716-446655440000",
      "external_id": "ORD-2026-001",
      "status": "SUCCESS",
      "type": "COLLECTION",
      "amount": 1000,
      "currency": "XAF",
      "operator": "mtn",
      "country": "CM",
      "phone_number": "237670000000",
      "reason": "Payment completed",
      "description": "Invoice payment",
      "created_at": "2026-05-09T10:15:00.000Z",
      "updated_at": "2026-05-09T10:15:42.000Z",
      "error_message": null
    }
  ],
  "meta": {
    "page": 1,
    "limit": 20,
    "total": 137,
    "totalPages": 7
  }
}
The per-transaction shape matches GET /payment/transactions/{id}/status.

Error responses

StatusTrigger
400Invalid status, type, or date format.

Code examples

cURL
curl -G https://api.cartevo.co/api/v1/payment/transactions \
  -H "Authorization: Bearer $TOKEN" \
  --data-urlencode "type=COLLECTION" \
  --data-urlencode "status=SUCCESS" \
  --data-urlencode "from_date=2026-04-01T00:00:00Z" \
  --data-urlencode "to_date=2026-05-01T00:00:00Z" \
  --data-urlencode "limit=100"

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

status
enum<string>

Filter by status (PENDING, SUCCESS, FAILED)

Available options:
PENDING,
SUCCESS,
FAILED,
PROCESSING
type
enum<string>

Filter by type (COLLECTION, PAYOUT)

Available options:
COLLECTION,
PAYOUT
external_id
string

Filter by external ID (partial match)

from_date
string<date-time>

Start date (ISO 8601)

to_date
string<date-time>

End date (ISO 8601)

page
integer

Page number

Example:

1

limit
integer

Items per page

Example:

20

Response

200 - application/json

Transactions retrieved successfully

success
boolean
Example:

true

message
string
Example:

"Transactions retrieved successfully"

data
object[]
pagination
object