Skip to main content
GET
/
transactions
/
{id}
Get transaction
curl --request GET \
  --url https://api.palpluss.com/v1/transactions/{id} \
  --header 'Authorization: Basic <encoded-value>'
{
  "success": true,
  "data": {
    "transactionId": "fa98a577-95ea-4a8f-8467-1fbe74f5d6f4",
    "tenantId": "b6fbe75f-ce87-4d44-b318-6cfdb8b7de4d",
    "type": "STK",
    "status": "SUCCESS",
    "amount": 1000,
    "currency": "KES",
    "phone": "254712345678",
    "channelId": null,
    "accountReference": "INV-2024-001",
    "transactionDesc": "Payment for invoice #2024-001",
    "provider": "m-pesa",
    "providerRequestId": "29115-34620561-1",
    "providerCheckoutId": "ws_CO_191220191020363925",
    "resultCode": "0",
    "resultDesc": "The service request is processed successfully.",
    "createdAt": "2026-03-01T08:00:00.000Z",
    "updatedAt": "2026-03-01T08:01:30.000Z"
  },
  "requestId": "c1b2a3d4-0000-0000-0000-000000000000"
}

When to use this endpoint

Use this endpoint to:
  • Confirm the final status of a transaction when webhooks are unavailable.
  • Display transaction details in your application UI.
  • Reconcile payments against your internal records.
Use webhooks as the primary mechanism for receiving payment results. Polling this endpoint is appropriate as a fallback when webhook delivery fails.

Polling strategy

After initiating an STK Push, poll at increasing intervals:
  1. Wait 15 seconds — most customers respond within this window.
  2. Poll every 10 seconds while status is PENDING or PROCESSING.
  3. Stop when a terminal state is reached: SUCCESS, FAILED, CANCELLED, or REVERSED.
  4. After 5 minutes without a terminal state, treat the transaction as likely failed.
Excessive polling consumes your rate limit. If you need real-time results, use webhooks.

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>

Path Parameters

id
string<uuid>
required

The transaction ID returned when the payment was initiated.

Response

Transaction details.

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"