Get transaction (requery)
Bearer ds_live_ / ds_test_/api/v1/merchant/transactions/{reference}Looks up one transaction by your reference or by FinalDataSub's transaction_id. Use it to requery pending purchases — poll every 30–60 seconds until the status is successful or failed, or rely on webhooks instead.
curl -X GET "https://finaldatasub.com/api/v1/merchant/transactions/ORDER-10021" \
-H "Authorization: Bearer ds_live_YOUR_KEY" \
-H "Accept: application/json"Authentication
Send your secret API key in the header. Authorization: Token … and X-API-Key: … are also accepted.
| Header | Value | Required |
|---|---|---|
| Authorization | Bearer ds_live_YOUR_KEY | Yes |
| Accept | application/json | Recommended |
Authentication failures (401 UNAUTHORIZED, 403 IP_NOT_ALLOWED / ACCOUNT_SUSPENDED / API_ACCESS_NOT_APPROVED, 429 RATE_LIMITED) are listed in Authentication.
Parameters
Responses
200 OK — OK · 404 Not Found — Not found
{
"status": "successful",
"reference": "ORDER-10021",
"channel": "api",
"transaction_id": "DS261005101522K7Q2ZP4M",
"category": "data",
"message": "Transaction successful.",
"network": "MTN",
"biller": "MTN Data",
"biller_slug": "mtn-data",
"product_id": 212,
"product": "MTN SME 1GB - 30 Days",
"plan": "MTN SME 1GB - 30 Days",
"phone": "08031234567",
"customer_ref": "08031234567",
"quantity": 1,
"unit_amount": "480.00",
"amount": "480.00",
"face_amount": "500.00",
"fee": "0.00",
"discount": "20.00",
"total_deducted": "480.00",
"balance_before": "25000.00",
"balance_after": "24520.00",
"provider_reference": "PRV-88213409",
"purchased_at": "2026-10-05T10:15:22+01:00"
}Errors
Errors specific to this endpoint, in addition to the authentication and validation errors common to every request.
| Code | HTTP | When |
|---|---|---|
| TRANSACTION_NOT_FOUND | 404 | No transaction with this reference or transaction id. |
Notes
- If you get TRANSACTION_NOT_FOUND after a timeout, the purchase never reached us and it is safe to retry with the same reference.
- Bulk order items can be looked up with
<bulk reference>-<position>.