Merchant State Reference
The 14 merchant states, rejection codes REJ_001–REJ_008, and how to read a suspension.
The field is state (not status), and values are UPPERCASE on the wire. There is no status_reason or status_updated_at — the fields that carry context are listed under each state below.
State values
| State | Transactions | Description |
|---|---|---|
DRAFT | ❌ | Application being assembled; not yet submitted |
SUBMITTED | ❌ | Submitted, awaiting review |
REVIEWING | ❌ | Cresora review in progress (displays as "Under Review") |
AWAITING_CLARIFICATION | ❌ | Cresora asked a question — see clarification_message; respond via POST /merchants/{merchantId}/respond-clarification |
AWAITING_MERCHANT_SIGNATURE | ❌ | The merchant processing agreement is out for signature — progress in esign_envelope. A declined or abandoned envelope moves to REJECTED with REJ_008 |
UNDERWRITING | ❌ | Underwriting review |
APPROVED | ❌ | Approved; provisioning comes next |
CONFIGURING | ❌ | Gateway provisioning in progress |
CONFIG_FAILED | ❌ | Provisioning failed — Cresora operations intervene |
ACTIVE | ⚠️ probe/test only | Gateway-provisioned, resting pre-go-live. Probe and test transactions run in this window — not real payments |
LIVE | ✅ | Processing real payments |
REJECTED | ❌ | Rejected — see rejection_reason_code + rejection_reason; resubmission may be possible (resubmission_count / resubmission_limit) |
SUSPENDED | ❌ | Restricted by Cresora — see restriction_reason |
CLOSED | ❌ | Permanently closed (terminal) |
ACTIVE does not mean live. ACTIVE is the provisioned, pre-go-live resting state where probe/test transactions run; only LIVE processes real payments. A status UI that shows ACTIVE as "accepting payments" misleads the merchant.
Rejection codes
Structured, no free text. Underscores, eight values:
| Code | Reason |
|---|---|
REJ_001 | Missing or incomplete business information |
REJ_002 | Merchant category not supported |
REJ_003 | Not approved during the underwriting review |
REJ_004 | Required compliance documentation is missing or could not be verified |
REJ_005 | Business type cannot be supported |
REJ_006 | Duplicate of an existing merchant application |
REJ_007 | Processing history / volume insufficient |
REJ_008 | Merchant declined or did not sign the processing agreement |
Suspensions
There is no enum of suspension reasons. A suspended merchant carries restriction_reason — free-text, partner-safe, and populated only on the single-merchant GET and the suspend response. Contact your Cresora account manager to resolve a suspension.
Querying merchant state
GET https://api.cresoracommerce.ai/api/v1/merchants/{merchantId}
Authorization: Bearer csk_ab12cd34_xxxxxxxxxxxxxxxxxxxxxxxx{
"id": "0190a1b2-c3d4-7e5f-8901-23456789abcd",
"state": "SUSPENDED",
"restriction_reason": "Chargeback rate above the acceptable threshold",
"version": 7
}For the full transition history, use GET /api/v1/merchants/{merchantId}/transitions; for go-live readiness, GET /api/v1/merchants/{merchantId}/go-live-gate.