OuiPay
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

HTTPerror.codeCause
404NOT_FOUNDNo such order for this customer
400VALIDATIONMalformed order id

On this page