Skip to main content

Order Status

After creating an order, you can track its progress through the payment lifecycle.

Order lifecycle

All orders follow the same status progression regardless of the payment gateway:

Checking order status

You have two options to track when a payment completes: Configure a webhook URL in your dashboard to receive real-time notifications when an order status changes. This is the most efficient approach — no polling required.
Payloads are a flat JSON object — every field is at the top level, with no nested data wrapper. The order total is total_price (not amount). The example above is abridged; see Webhook Events for the full order_payment payload and Webhooks for setup instructions.

Option 2: Polling

If you cannot receive webhooks, poll the order status endpoint:
Polling should be used as a fallback only. We recommend a polling interval of 3–5 seconds. Excessive polling may be rate-limited.

Cancelling an order

You can cancel an order that is still in pending or processing status:
Orders in confirmed status cannot be cancelled. To reverse a confirmed payment, use the refund flow.

Timeout behavior

Each gateway has a different timeout window. If the buyer does not complete the payment within the timeout period, the order is automatically moved to cancelled status.

Settlement timelines

Once an order reaches confirmed status, funds are settled to your Wava wallet. Settlement timelines average 36 hours but vary by gateway and are subject to change. Exact per-gateway timelines will be visible in the Wava dashboard in an upcoming release.

Next steps

  • Set up Webhooks for real-time notifications
  • Review Error Handling for failed payment scenarios
  • See Testing to simulate different order outcomes