Transaction status

Query the current state of a charge — for reconciliation, or if you ever miss a webhook.

GET /partner/status

Field

Type

Required

Description

charge_ref

string

yes

The charge id returned by /partner/stk (query param).

cURL

curl "https://<your-operator>/api/bridgepay/v1/partner/status?charge_ref=STK0000123" \
  -H "Authorization: Bearer at_..."

Node.js

const r = await fetch(`${base}/partner/status?charge_ref=STK0000123`,
  { headers: { Authorization: `Bearer ${token}` } });
const { data } = await r.json();  // { charge_ref, state, transaction }

Python

r = requests.get(f"{BASE}/partner/status",
    params={"charge_ref": "STK0000123"},
    headers={"Authorization": f"Bearer {token}"})
data = r.json()["data"]

Response

{ "status":"ok", "data":{
  "charge_ref":"STK0000123",
  "state":"completed",
  "amount":250,
  "transaction":"BP2600000118"
} }

The state values match the charge lifecycle. When completed, transaction is the settled ledger reference (use it on receipts).

Prefer webhooks for real-time

Status is the source of truth for reconciliation, but for live updates use webhooks rather than tight polling.

Was this page helpful?