Create a merchant

Creates a merchant. By default (no acquirers in the body) the merchant
is identity-only: status is pending, no processing connection is
attached, and a fresh API token is generated. The merchant can't take
payments until a processing connection is boarded and the merchant is
activated. Pass an acquirers array to create and board in one call
(see Combined create-and-board below).

The response is 201 with the merchant object and a one-time
credentials.token. The token is shown once here and never again on
reads — store it.

username may be omitted; one is derived from the trading/business
name. Either way the stored username is prefixed with the partner's
reseller prefix.

A create is rejected with 409 conflict ("merchant exists") when this
partner already has a merchant with the same ABN, business name and
trading name — a repeated submit of the same business. A shared ABN
alone is allowed: it creates a new merchant.

Combined create-and-board. When the body carries an acquirers
array, the merchant is created, every named acquirer is boarded, and
the merchant is activated — all in one call. If any acquirer can't be
boarded the whole request fails and nothing is created: no merchant,
no connections. The failure is reported the same way as the standalone
board endpoint:

  • 422 validation_error — something the caller can fix: an unsupported
    currency or card type, a duplicate/missing merchant_id, no processor
    supports the acquirer for the requested currencies, or a processor
    rejecting a field (e.g. the MID). fields names the offending field.
  • 422 processor_error — an unactionable upstream failure: a processor
    was unreachable, busy, or rejected the board for a reason the caller
    can't fix. fields is empty; retry or escalate.
  • 404 not_found — an acquirer is unknown or not available to this
    partner.

Idempotency and retries. Boarding is synchronous and recovery is
always the partner re-issuing a call. Safe-retry behaviour is built
into the operations themselves:

  • Identity create dedupes on the triple (ABN, business name, trading name) — re-posting the same business returns 409 conflict
    ("merchant exists") instead of producing a duplicate. A shared
    ABN alone is allowed and creates a new merchant.
  • Combined create-and-board either creates the merchant and every
    requested connection, or creates nothing. On failure the partner
    re-issues the same request — there is no partial state to clean up.
  • Standalone board (POST /merchants/USERNAME/acquirers) is
    idempotent per acquirer: re-posting the same acquirer against a
    merchant that already has it returns the existing connection
    instead of creating a duplicate. A processor_error retry is safe
    for the same reason.

What to do on each failure:

  • 422 validation_error → read fields, correct the named input
    (currency, MID, card type, etc.), POST again. Idempotency makes a
    corrected retry safe.
  • 422 processor_error → the request itself is fine; the upstream
    processor isn't. Back off and re-post the identical request, or
    escalate if it persists. Don't mutate the payload.
  • 409 conflict on create → the merchant already exists for this
    partner; fetch it with GET /merchants/USERNAME instead of
    re-creating.
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

Creates a merchant.

Required to CREATE: name and mcc only. mcc has NO default — the
merchant's category is never guessed; omitting it is a
422 validation_error.

Two modes:

  • Identity-only (no acquirers): creates a pending stub with no
    processing. Board acquirers later via
    POST /merchants/USERNAME/acquirers. Returns a bare Merchant.
  • Combined create (with acquirers): also boards each listed
    acquirer and activates the merchant if at least one boards. Boarding
    is best-effort — failures don't fail the create; each acquirer's
    outcome is reported in the MerchantOnboardingResult. The merchant is
    active when ≥1 acquirer boards, else stays pending. Either way the
    response is 201 with the token revealed once.

Readiness — "required to create" is not "required to transact". To board
an acquirer the merchant may need extra business details, depending on
how the acquirer is boarded:

The partner always supplies the acquirer-assigned MID on the
connection (TID is optional). Some acquirers also require additional
business details to board — company_number, trading_name and
address. Missing fields surface as a failed acquirer entry
(combined create) or a 422 on POST /merchants/USERNAME/acquirers.

string
required

Required. The merchant's legal/business name.

string
required
^\d{4}$

Required. Merchant category code (ISO 18245, 4 digits). No default —
omitting or blanking it returns 422 validation_error.

string

Optional at create (defaults to name). May be required to board
some acquirers.

string

The merchant's company/business registration number (e.g. an
Australian Business Number). Optional at create. May be required to
board some acquirers.

string

Optional. Free-text industry descriptor for the merchant.

string

Optional. Primary contact person's name.

string

Optional.

string

Optional.

accounts_email
array of strings

Optional. Accounts/billing email recipients.

accounts_email
string

Optional.

address
object

Business address. Optional at create. May be required to board
some acquirers.

string
length ≤ 25

Optional. Card-acceptor name. Defaults to the trading/business name, truncated to 25 chars.

boolean

Optional. Whether the merchant is government-controlled. Defaults to false.

string
^[A-Za-z]{2}$

Optional. ISO-3166 alpha-2 country of origin.

string

Optional. ISO-3166 numeric country code.

string

Optional. Scheme fee program indicator.

string

Optional. Mastercard ISO/acquirer identifier.

string

Optional. Visa ISO/acquirer identifier.

string

Optional. Mastercard Assigned ID (MAID).

string

Optional. Visa Merchant Verification Value (MVV).

string

Optional. Visa Marketplace Identifier (MPI) for marketplace merchants.

string
length ≤ 11

Optional. Visa payment facilitator indicator for scheme rules.

string
length ≤ 11

Optional. Mastercard payment facilitator indicator for scheme rules.

boolean

Optional. Whether the merchant is a Bill Payment Service Provider
(BPSP). Defaults to false.

boolean

Optional. Allow sub-merchant aggregator fields in transaction
requests (requires an aggregator agreement with the acquirer).
Defaults to false.

string

Optional. Customer support phone number shown to cardholders.

string

Optional. Card-acceptor name sent to the card schemes. Defaults to
the statement descriptor / trading name when omitted.

string

Optional. Card-acceptor location (city) sent to the card schemes.

string
^[A-Za-z]{2}$

Optional. Card-acceptor country, ISO-3166 alpha-2.

string

Optional. IANA timezone identifier the merchant operates in.

string

Optional. A partner-assigned identifier for the merchant. Distinct
from the acquirer-assigned merchant_id (MID) — this is a free-form
label the partner uses to track the merchant in their own systems.

string

Optional. When omitted, one is derived from the trading/business
name. Either way the stored username is prefixed with the partner's
reseller prefix. Immutable post-creation.

acquirers
array of objects

Optional. When present, boards the merchant onto each acquirer and
activates it (combined create). If any acquirer can't be boarded
the whole create fails and nothing is created. See the response
MerchantOnboardingResult.

acquirers
Responses

Language
Credentials
Basic
base64
:
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json