Skip to main content
Cresora Commerce
Merchant Onboarding

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

StateTransactionsDescription
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 onlyGateway-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)
⚠Warning

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:

CodeReason
REJ_001Missing or incomplete business information
REJ_002Merchant category not supported
REJ_003Not approved during the underwriting review
REJ_004Required compliance documentation is missing or could not be verified
REJ_005Business type cannot be supported
REJ_006Duplicate of an existing merchant application
REJ_007Processing history / volume insufficient
REJ_008Merchant 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.