Skip to main content
GET
/
transactions
List transactions
curl --request GET \
  --url https://api.palpluss.com/v1/transactions \
  --header 'Authorization: Basic <encoded-value>'
{
  "success": true,
  "data": {
    "overview": {
      "total": 20,
      "completed": 15,
      "failed": 5,
      "pending": 0
    },
    "items": [
      {
        "transactionId": "fa98a577-95ea-4a8f-8467-1fbe74f5d6f4",
        "type": "STK",
        "status": "SUCCESS",
        "amount": 1000,
        "currency": "KES",
        "phone": "254712345678",
        "accountReference": "INV-2024-001",
        "createdAt": "2026-03-01T08:00:00.000Z",
        "updatedAt": "2026-03-01T08:01:30.000Z"
      }
    ],
    "nextCursor": "eyJpZCI6ImZhOThhNTc3In0="
  },
  "requestId": "c1b2a3d4-0000-0000-0000-000000000000"
}
Retrieve and filter your full transaction history. Results include an aggregate overview independent of pagination.

Overview object

Every list response includes an overview with counts for the full filtered set — not just the current page:
{
  "overview": {
    "total": 20,
    "completed": 15,
    "failed": 5,
    "pending": 0
  }
}
Counts respect all query filters (status, type, from, to, channelId, amountMin, amountMax, q) but ignore cursor — the numbers stay consistent across pages.

Transaction fee field

Each transaction item includes a transactionFee field (merchant API) / transaction_fee field (developer API):
Statustransaction_fee value
PENDINGActual fee charged from service wallet
SUCCESSActual fee charged from service wallet
FAILED0
CANCELLED0
EXPIRED0
The fee is 0 when no pricing rule is configured for your account.

Pagination

Transactions return newest first. Pass nextCursor from the previous response to fetch the next page.
# Page 1
curl "https://api.palpluss.com/v1/transactions?limit=20" \
  -u "$PALPLUSS_API_KEY:"

# Page 2
curl "https://api.palpluss.com/v1/transactions?limit=20&cursor=eyJpZCI6ImZhOThhNTc3In0=" \
  -u "$PALPLUSS_API_KEY:"
nextCursor: null means you have reached the last page.

Filtering

Combine status and type to narrow results:
# All successful STK payments
curl "https://api.palpluss.com/v1/transactions?type=STK&status=SUCCESS" \
  -u "$PALPLUSS_API_KEY:"

# All pending B2C payouts
curl "https://api.palpluss.com/v1/transactions?type=B2C&status=PENDING" \
  -u "$PALPLUSS_API_KEY:"

Authorizations

Authorization
string
header
required

Use your API key as the username. Leave the password field empty.

Authorization: Basic <base64(apikey:)>

You can also pass the raw API key:

Authorization: Basic <apikey>

Query Parameters

limit
integer
default:20

Number of records per page (1–100, default 20).

Required range: 1 <= x <= 100
cursor
string

Pagination cursor from the previous response nextCursor field.

status
enum<string>

Filter by transaction status.

  • PENDING — Awaiting customer action or provider response
  • PROCESSING — Provider accepted; waiting for final confirmation
  • SUCCESS — Completed successfully
  • FAILED — Transaction failed (provider declined or timeout)
  • REVERSED — Successfully reversed (wallet credited back)
  • CANCELLED — Cancelled before processing
Available options:
PENDING,
PROCESSING,
SUCCESS,
FAILED,
REVERSED,
CANCELLED
type
enum<string>

Filter by transaction type.

  • STK — M-Pesa STK Push collection
  • B2C — Business to Customer payout
Available options:
STK,
B2C

Response

Paginated list of transactions.

success
boolean
required
Example:

true

data
object
required

Response payload. Shape varies by endpoint.

requestId
string<uuid>
required

Unique identifier for this API request. Include in support tickets.

Example:

"c1b2a3d4-e5f6-7890-abcd-ef1234567890"