Suspension and Lifecycle

Sub-merchant deletion is intentionally not exposed: once a sub-merchant exists, the only way to take them offline is to suspend them. This is a safety property: it keeps balances and obligations recoverable.

There are two layers of switches that gate Connect activity:

  1. Marketplace-level kill-switches: connectEnabled and paused, surfaced on GET /api/connect/settings. Managed by Inflow. Affect every sub-merchant under the marketplace at once.
  2. Sub-merchant-level switch: the suspension flag, toggled by the suspend / resume endpoints below. Self-service. Affects one sub-merchant at a time. In API responses (GET /api/connect/accounts/:id), this flag is exposed as stopProcessingSettlement.

Sub-merchant lifecycle

A sub-merchant is in exactly one of these states at any time:

StateKYCBalance accountSuspended?Operable on X-On-Behalf-Of?
Pending KYCpendingabsentnono
Pending provisioningpending (or approved while the balance account is provisioned)absentnono
Activeapprovedpresentnoyes
Suspendedapprovedpresentyesno
Rejectedrejectedabsentnono

A sub-merchant becomes operable on X-On-Behalf-Of only when KYC is approved and they are not suspended. See Acting on Behalf Of for the full rules and error codes.

Suspending a sub-merchant

POST /api/connect/accounts/:subMerchantId/suspend
X-Inflow-Api-Key: <inflow_apikey>

After this:

  • X-On-Behalf-Of calls for that sub-merchant return 403 ON_BEHALF_SUBMERCHANT_NOT_OPERABLE.
  • New money-movement work for the sub-merchant stops (no new payouts, no settlement processing).
  • KYC and balance are left untouched; suspension is reversible.

Idempotent: suspending an already-suspended account is a no-op and returns the current state.

Resuming a sub-merchant

POST /api/connect/accounts/:subMerchantId/resume
X-Inflow-Api-Key: <inflow_apikey>

Clears the suspension. Idempotent: resuming an already-active sub-merchant is a no-op and returns the current state.

When to suspend vs. when to delete

Connect deliberately doesn't expose deletion. To take a sub-merchant offline:

ReasonRecommended action
Seller off-boarded permanentlysuspend and stop using the subMerchantId. Their balance can still be paid out via a Connect support flow.
Compliance flag (your call, not Inflow's)suspend while you investigate, resume if cleared.
Sub-merchant hits rejected KYCsuspend to freeze any pending obligations. They cannot be reactivated; a new sub-merchant (different email) is required.
KYC stuck pending foreverDon't suspend; it's already non-operable. Re-poll …/kyc/status to re-issue the link, or delete the record on your side and start a new one with a fresh email.

Marketplace-level kill-switches

Two read-only flags on GET /api/connect/settings affect every sub-merchant at once. Both are managed by Inflow and cannot be toggled via PATCH:

connectEnabled

  • true (default): Connect is live for your marketplace.
  • false: every Connect-management route returns 403 CONNECT_DISABLED, and every merchant route called with X-On-Behalf-Of returns 403 ON_BEHALF_CONNECT_DISABLED.

Used when Inflow disables Connect for a specific marketplace (contract terminated, account in remediation, …). Not a short-lived signal.

paused

  • false (default): normal operation.
  • true: every Connect-management route returns 403 MARKETPLACE_PAUSED, and every merchant route with X-On-Behalf-Of returns 403 ON_BEHALF_MARKETPLACE_PAUSED. Sub-merchant balances and KYC are preserved.

Used for short-lived holds (compliance review, fraud incident, regulatory request). Expect a clear comms thread from Inflow before this flips.

What happens to in-flight money?

ScenarioEffect
Sub-merchant suspended mid-flowAlready-credited balance stays put. Pending settlement stops until they're resumed. New X-On-Behalf-Of payments are rejected.
Marketplace pausedSame as above, but for all sub-merchants at once. The marketplace's own balance is not seized.
connectEnabled flipped to falseSame as paused.

Listing pending / rejected accounts

There is no dedicated KYC status filter. Iterate GET /api/connect/accounts and inspect connectKycStatus per row. For larger marketplaces, also persist kycReady from the status endpoint on your side so you can index against it.

Suspending a marketplace's own operations

The marketplace's own balance (where marketplace fees land) is managed via the standard merchant API, not via the Connect routes. To take your own marketplace offline, contact your Inflow support contact; there is no self-service kill-switch for the marketplace itself.


Did this page help you?