Status Code Reference
Part of: MPAC SmartPOS Cloud Platform - Product RequirementsVersion: 2.0 Last Updated: 2026-01-28
Overview
This document provides a comprehensive reference for all status codes used in the MPAC SmartPOS Cloud Platform, including HTTP status codes for API responses and domain-specific status codes for payment and order workflows.
HTTP Status Codes
Success Codes (2xx)
| Code | Name | Usage |
|---|---|---|
200 | OK | Success with response body |
201 | Created | Resource successfully created |
204 | No Content | Success with no response body (DELETE, some PATCH) |
Client Error Codes (4xx)
| Code | Name | Usage |
|---|---|---|
400 | Bad Request | Invalid request parameters or malformed JSON |
401 | Unauthorized | Missing or invalid authentication token |
403 | Forbidden | Authenticated but not authorized for this resource |
404 | Not Found | Requested resource does not exist |
409 | Conflict | Resource conflict (duplicate unique field) |
422 | Unprocessable Entity | Validation error on request body |
429 | Too Many Requests | Rate limit exceeded |
Server Error Codes (5xx)
| Code | Name | Usage |
|---|---|---|
500 | Internal Server Error | Unexpected server error |
503 | Service Unavailable | Service temporarily unavailable (maintenance, overload) |
Payment Status Codes
Payment status progresses through the following states:
| Status | Description | Terminal State |
|---|---|---|
pending | Payment created, awaiting processing | No |
processing | Being processed by payment provider | No |
completed | Successfully completed | Yes |
failed | Payment failed (insufficient funds, declined, etc.) | Yes |
refunded | Payment refunded (full or partial) | Yes |
cancelled | Payment cancelled before completion | Yes |
Status Transitions
pending → processing → completed
→ failed
→ cancelled
completed → refunded (partial or full)Order Status Codes
| Status | Description | Terminal State |
|---|---|---|
draft | Order being created, not submitted | No |
open | Order submitted, awaiting payment | No |
paid | Order fully paid | No |
completed | Order fulfilled and closed | Yes |
cancelled | Order cancelled before completion | Yes |
Bill Status Codes
| Status | Description | Terminal State |
|---|---|---|
unpaid | Bill created, awaiting payment | No |
partially_paid | Some payments received, balance remaining | No |
paid | Bill fully paid | Yes |
voided | Bill voided/cancelled | Yes |
Device Status Codes
| Status | Description |
|---|---|
pending_activation | Device registered, awaiting activation |
active | Device activated and operational |
suspended | Device temporarily suspended |
deactivated | Device permanently deactivated |
Settlement Status Codes
| Status | Description | Terminal State |
|---|---|---|
open | Settlement period open, transactions accumulating | No |
closed | Settlement closed, ready for reconciliation | No |
reconciled | Settlement reconciled with financial records | Yes |
Error Code Format
All API error responses follow a consistent format:
json
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid request parameters",
"details": [
{
"field": "amount",
"issue": "Must be greater than 0"
}
]
}
}Common Error Codes
VALIDATION_ERROR- Request validation failedAUTHENTICATION_ERROR- Authentication failedAUTHORIZATION_ERROR- Not authorized for this operationRESOURCE_NOT_FOUND- Resource does not existDUPLICATE_RESOURCE- Resource already existsRATE_LIMIT_EXCEEDED- Too many requestsINTERNAL_ERROR- Unexpected server error
See Also
Related References:
- Glossary - Status terminology
- API Endpoint Summary - Endpoint responses
- Data Model - Entity status fields
Technical Documentation:
- Error Handling - Error handling patterns
- API Design - Response formats
- Payment Gateway Integration - Payment status flows
Domain Documentation:
- Payment Processing - Payment workflows
- Orders & Bills - Order status lifecycle
- Device Management - Device states
Navigation: ↑ Back to Index | ← Data Model | Next: Configuration →