Skip to main content

Overview

The monei.transaction service allows you to retrieve and filter user transactions, including deposits and individual transaction lookups by ID or reference. This service provides:
  • Fetch all user transactions
  • Filter transactions by type
  • Retrieve deposits only
  • Get transaction details by ID
  • Get transaction details by reference
Note: All methods return response objects with attributes accessible via dot notation (e.g., transactions.data.transactions, deposit.amount).

Get User Transactions

Retrieve all transactions for the authenticated user.
transactions = monei.transaction.get_all()

print(transactions.data.transactions)
print(transactions.data.pagination)
Endpoint
GET /api/v1/transactions/user

Get Transactions by Type

Filter transactions by type using the TransactionType enum.
from monei import TransactionType

credits = monei.transaction.get_transactions_by_type(
    TransactionType.CREDIT
)

print(credits.transactions)

Available Types

  • TransactionType.CREDIT
  • TransactionType.DEBIT

Get Deposits

Retrieve only deposit (credit) transactions.
deposits = monei.transaction.get_deposits()

print(deposits.transactions)
This is equivalent to filtering by:
TransactionType.CREDIT

Get Single Deposit

Retrieve a single deposit by ID or Reference.

By ID

deposit = monei.transaction.get_deposit(
    id="txn_123456"
)

print(deposit.amount, deposit.status)

By Reference

deposit = monei.transaction.get_deposit(
    reference="ref_ABC123"
)

print(deposit.amount, deposit.status)

Get Transaction by ID

transaction = monei.transaction.get_transaction_by_id("txn_123456")

print(transaction)
Endpoint
GET /api/v1/transactions/{id}

Get Transaction by Reference

transaction = monei.transaction.get_transaction_by_reference("ref_ABC123")

print(transaction)
Endpoint
GET /api/v1/transactions/reference/{reference}

Working with Response Objects

All methods return objects with attribute access:
# Get all transactions response
transactions = monei.transaction.get_all()
print(transactions.data.transactions)  # List of transactions
print(transactions.data.pagination)    # Pagination info
print(transactions.data.pagination.total)   # Total count
print(transactions.data.pagination.page)    # Current page
print(transactions.data.pagination.limit)   # Items per page

# Transaction by type response
credits = monei.transaction.get_transactions_by_type(TransactionType.CREDIT)
for tx in credits.transactions:
    print(tx.id)          # Transaction ID
    print(tx.reference)   # Transaction reference
    print(tx.amount)      # Transaction amount
    print(tx.status)      # Transaction status
    print(tx.created_at)  # Creation date

# Single deposit response
deposit = monei.transaction.get_deposit(id="txn_123456")
print(deposit.id)             # Deposit ID
print(deposit.amount)         # Deposit amount
print(deposit.status)         # Deposit status
print(deposit.reference)      # Deposit reference
print(deposit.payment_method) # Payment method used

# Transaction by ID response
transaction = monei.transaction.get_transaction_by_id("txn_123456")
print(transaction.id)          # Transaction ID
print(transaction.type)        # CREDIT or DEBIT
print(transaction.amount)      # Transaction amount
print(transaction.currency)    # Currency code
print(transaction.description) # Transaction description

Response Structure

UserTransactionsResponseDto

{
    "data": {
        "transactions": [TransactionDto],
        "pagination": {
            "total": int,
            "page": int,
            "limit": int
        }
    }
}

TransactionDto

{
    "id": str,
    "reference": str,
    "type": "CREDIT" | "DEBIT",
    "amount": float,
    "currency": str,
    "status": str,
    "created_at": str
}

Error Handling

All transaction service calls may raise an exception if the request fails.
from monei import MoneiError

try:
    transactions = monei.transaction.get_all()
    print(transactions.data.transactions)
except MoneiError as err:
    print(err.status_code)  # HTTP status code
    print(err.message)      # Error message
    print(err.code)         # Error code

Service Overview

MethodDescription
get_all()Retrieve all user transactions
get_transactions_by_type(type)Filter transactions by type
get_deposits()Retrieve credit transactions only
get_deposit(id or reference)Retrieve a single deposit
get_transaction_by_id(id)Retrieve transaction by ID
get_transaction_by_reference(reference)Retrieve transaction by reference