SpeedPesa Pro API v1

Transaction Status API

Check the status of any transaction instantly.

STATUS · GETYou simply ask (GET) for the status of a transaction: pending, success or failed.
HomeDocumentationCheck Transaction Status

Authentication

Every request requires your API key in the headers.

Required Headers

Authorization

Bearer sk_live_XXXXXXXXXXXX

Content-Type

application/json

Overview

Use your transaction_id or reference to get the real status: pending, success or failed — along with the amount, channel and time.

Step 3GET

Step 3 — Check Payment Status

Check the payment status using the transaction_id or your order reference. If the transaction is still pending, the system confirms directly with the provider before returning a response.

GET https://www.speedpesapro.com/api/public/v1/transactions/{transaction_id}

Use www.speedpesapro.com specifically (without www the request is redirected and some HTTP clients drop the POST body — which causes a server error).

Query Parameters

ParameterTypeRequiredDescription
transaction_idstringYesThe identifier you received in step 2 (or your reference).example: STB-8FA21-3D91C
bash
curl -X GET 'https://www.speedpesapro.com/api/public/v1/transactions/STB-8FA21-3D91C' \
  -H 'Authorization: Bearer sk_live_XXXXXXXXXXXX'

Note: Possible statuses are pending, success and failed.

Transaction Statuses

pending

The push has reached the customer; the PIN has not been entered yet.

Action: Wait for the webhook or poll /transactions/{id} every 5–10 seconds (up to 3 minutes).

success

Payment is complete and the balance has been credited.

Action: Fulfil your order immediately; this event cannot be reversed.

failed

The customer cancelled, entered the wrong PIN, or had insufficient balance.

Action: Ask the customer to try again with a new reference.