Orchestrate
Account Types

Account Types

Accounts model the parties on your platform — all one object, distinguished by its type.


An account represents a party on your platform: one you collect payments from, or one that accepts payments and sends payouts. Payload models both as a single polymorphic object under one /accounts endpoint. The type field — customer or processing — determines what an account can do and what it requires.

Because every account shares the same object and endpoints, you create, query, filter, and manage them the same way, and new types can be added without new endpoints.

The Types

TypetypeWhat it doesRequires
CustomercustomerA payer or recipient — collect payments from it or send payouts to it.Entity optional
ProcessingprocessingReceives payments, sends payouts, and manages funding.Entity (KYC) + onboarding

Customer

Customer accounts represent the payers and recipients you transact with, and are optional — depending on your use case you may not need them at all. They have no inherent processing capability and need no KYC for basic use — a customer account can pay an invoice, be charged with a stored payment method, or receive a payout. A customer account can be nested under a processing account with parent_id, inheriting its access and acting against it as the default opposing party.

Processing

Processing accounts accept payments and send payouts on your platform, and every transaction involves one — on the sender or receiver side, depending on the transaction type. They require an attached entity for KYC/KYB and go through onboarding before they can process. Beyond receiving payments, a processing account can also send payments, receive payouts, and act as the payer on payment links or invoices. Processing-specific configuration — funding, pricing, agreement, and status — lives under the account's processing object.

Shared Fields

Whatever the type, every account shares the same core fields:

FieldTypeDescription
idstringUnique identifier, prefixed acct_.
typestringDiscriminator: customer or processing.
namestringBusiness or person name; appears on invoices and payment pages. Required for processing accounts; optional for customer accounts when email is set.
emailstringPrimary contact email.
entity_idstringThe legal entity for KYC/KYB (required for processing accounts).
parent_idstringParent processing account, for nested customer accounts.
profile_idstringThe organization profile that owns the account.
payment_methodsarrayPayment methods used to pay or to receive payouts.
processingobjectProcessing-only configuration (funding, pricing, agreement, status).
contact_detailsobjectPhone, website, and address.
keep_activebooleanWhether the account is retained for reuse or one-time.
attrsobjectCustom key-value attributes.

Accounts and Entities

An entity is a separate legal-identity object — an individual or a business — used for KYC/KYB compliance. An account references one through entity_id, or you can create it inline. Entities are required for processing accounts and optional for customer accounts, though recommended for any account handling high-value transactions. One entity can be reused across multiple accounts. See Managing Entities.

Creating Accounts

Every type is created through the same /accounts endpoint, via one of three methods:

  • Accounts API — create accounts programmatically. You control compliance and terms capture, so creating processing accounts this way is an advanced path.
  • Enrollment Link — a secure, Payload-hosted onboarding page shared by URL, email, or SMS. Compliance, consent, and terms are handled for you.
  • Enrollment Plugin — the same hosted onboarding embedded directly in your app as a modal or inline form.

Once created, configure which payment methods an account uses by default with Default Methods.


Related Topics