API ReferenceServices
Retrieve a service order
GET /v1/services/orders/{id} : order detail and compact status polling.
GET /v1/services/orders/{id}
Returns the full service order object,
scoped to the owning customer. fulfillment_snapshot carries the delivered
artifact on success: meter token, PIN serials, or voucher detail.
curl https://api.ouipay.africa/v1/services/orders/01M2S18... \
-H "Authorization: Bearer sk_test_..."{
"data": {
"id": "01M2S18...",
"transaction_id": "01M2S18...",
"payment_transaction_id": "01M2S18...",
"country_code": "NG",
"service_code": "electricity",
"status": "completed",
"customer_amount_minor": 510000,
"fee_minor": 10000,
"provider_cost_minor": 500000,
"currency": "NGN",
"operator_code": "ikeja-electric",
"meter_type": "prepaid",
"account_ref": "04591234567",
"provider_reference": "IKEDC-99218...",
"fulfillment_snapshot": { "token": "1234 5678 9012 3456 7890" },
"created_at": "2026-09-18T02:00:00Z",
"updated_at": "2026-09-18T02:00:41Z"
}
}Status poll
GET /v1/services/orders/{id}/status
Compact projection for polling while a payment or fulfilment is in flight. Prefer webhooks for terminal states; poll this while waiting on customer action.
{
"data": {
"id": "01M2S18...",
"status": "fulfilling",
"transaction_id": "01M2S18...",
"payment_transaction_id": "01M2S18...",
"provider_reference": null,
"fulfillment_snapshot": null,
"updated_at": "2026-09-18T02:00:20Z"
}
}unknown means the fulfilment outcome is being reconciled: the purchase may
have reached the rail. Do not resubmit the order or refund locally; wait for
completed or failed via webhook or a later poll.
Errors
| HTTP | error.code | Cause |
|---|---|---|
| 404 | NOT_FOUND | No such order for this customer |
| 400 | VALIDATION | Malformed order id |