Skip to content
Last updated

About clients and resellers

Account model

Reefpay organizes accounts as clients. Each client has a type that determines its role in the hierarchy.

Client typeDescriptionCan process transactionsCan manage sub-accounts
resellerAn organization that onboards and manages merchants (ISOs, agents, acquirers, payment facilitators)No (transactions flow through merchant children)Yes
merchantA business that processes payments through ReefpayYesNo

Every client has:

  • A unique id (for example, CLIENT-3MtwBwLkdIwHu7ix28a3tqPa)
  • A parent_id that links it to its parent in the hierarchy
  • A dba (doing-business-as) name
  • Admin contact details

Hierarchy structure

The hierarchy is a tree. Resellers sit above merchants and can have other resellers as children, enabling multi-level distribution models.

image

How parent_id works

Each client's parent_id points to the client directly above it in the tree.

ClientTypeparent_id
Reseller AresellerPlatform root
Merchant 1merchantReseller A
Sub-resellerresellerReseller A
Merchant 3merchantSub-reseller

A reseller can view and manage all clients beneath it in the tree — including clients under its sub-resellers.

Merchants

A merchant is a business entity that processes payment transactions. Each merchant has:

  • One or more MIDs (Merchant Identification Numbers) assigned by the processor
  • Integrations with payment processors (TSYS for cards, Vericheck for ACH)
  • Users who can access the API and web portal
  • Payment tokens scoped to that merchant
  • Batches and transactions associated with their MIDs

Merchants are always leaf nodes in the hierarchy — they cannot have child accounts.

Resellers

A reseller is an organization that onboards, manages, and supports merchants. Resellers can:

  • Create merchant accounts under their hierarchy
  • Create sub-resellers for multi-level distribution
  • View transactions and reports across all merchants in their tree
  • Manage users for their own account and child accounts
  • Configure integrations for child merchants

Resellers do not process transactions directly. All payment processing happens at the merchant level.

Creating a client

Create a new client (merchant or reseller) with POST /v1/clients.

POST /v1/clients

{
  "dba": "Acme Jewelry",
  "parent_id": "CLIENT-01JMRSPCK7XVNP3KS8F2W4T6Y",
  "type": "merchant",
  "admin_contact_details": {
    "first_name": "John",
    "last_name": "Doe",
    "email": "john.doe@example.com",
    "phone": "+15551234567",
    "time_zone": "America/New_York"
  }
}

Required fields

FieldDescription
dbaBusiness name (1–100 characters)
parent_idID of the parent client (reseller)
typemerchant or reseller
admin_contact_detailsContact information including first_name, last_name, email, phone, time_zone
Who can create clients

Only reseller accounts (or platform administrators) can create child clients. A merchant cannot create sub-accounts.

Managing clients

OperationEndpointDescription
CreatePOST /v1/clientsCreate a merchant or reseller
ListGET /v1/clientsList all clients in your hierarchy
RetrieveGET /v1/clients/{id}Get details for a specific client
UpdatePOST /v1/clients/{id}Update client details (DBA name, contact info)

Integrations

Before a merchant can process transactions, it must have at least one integration with a payment processor.

ProcessorIntegration typePayment types
TSYSCard processingCredit/debit card sales, authorizations, captures, cancels, refunds
VericheckACH processingBank account payments, payouts, cancels

Integrations are created with POST /v1/integrations and are scoped to a specific client. Each integration provides the processor credentials (MID, terminal ID) needed for transaction routing.

For more information, see Supported processors.

Data isolation

Reefpay enforces strict data isolation between clients.

ScopeRule
TransactionsVisible only to the merchant that processed them and its parent resellers
Payment tokensScoped to the merchant MID — cannot be used across merchants
API keysAuthenticate to a specific client — cannot access other clients' data
UsersBelong to a single client; reseller users can access child client data
BatchesContain only transactions from the associated merchant

Common patterns

Payment facilitator (PayFac)

A PayFac registers as a reseller and onboards sub-merchants under its account. The PayFac manages compliance and settlement, while each sub-merchant has its own MID and transaction history.

ISO / agent model

An Independent Sales Organization (ISO) or agent registers as a reseller to manage a portfolio of merchants. The ISO can view aggregate reporting across all merchants and manage their integrations.

Direct merchant

A merchant that integrates directly with Reefpay (no reseller) has its parent_id set to the platform root.

Further reading