Create merchant
POST
/api/merchants
deprecated
Requires: Merchants.Merchants.Create, merchant scope.
Creates a new merchant account in the payment gateway system with the specified configuration.
Signed in, you can send this request to your own sandbox merchant from the console and read the answer. Sign in to try it.
Example request
Each example below is one request, shown in every language. Choose an example and a language, then replace {{BASE_URL}} with the address of the API you are calling and {{API_KEY}} with your own key.
The request body is a MerchantCreateDto. See the Request body section below for its fields.
Parameters
Request body
application/json
, required
| Field | Type | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
createdFromTemplateId
required |
string (uuid) |
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name
required |
string | The name of the merchant.
nullablemin length 5max length 100
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isActive
required |
boolean | Indicates whether the merchant is active.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
resellerId
required |
string (uuid) | The unique identifier of the reseller associated with the merchant.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
customIdentifier
required |
string | Custom identifier for the merchant.
Conditional: When CustomIdentifier is not empty. Length: 5 to 100.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dba
required |
string | Doing Business As (DBA) name for the merchant.
Conditional: When Dba is not empty. Length: 5 to 100.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mcc
required |
string | Four-character ISO 18245 Merchant Category Code identifying the merchant's industry.
Required for new merchants. Existing merchants without an MCC may load and view, but
any save attempt that leaves this null will fail validation.
Conditional: When Mcc is not empty.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isTest
required |
boolean | Indicates whether the merchant is a test account.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
environment
required |
MerchantEnvironment MerchantEnvironment | The merchant's lifecycle environment.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
processorMode
required |
MerchantProcessorMode MerchantProcessorMode | Which processor a sandbox merchant's transactions route to.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
contactDetail
required |
MerchantContactDetail MerchantContactDetail | Contact details for the merchant.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of MerchantContactDetail:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
businessInfo
required |
MerchantBusinessInfo MerchantBusinessInfo | Business information for the merchant.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of MerchantBusinessInfo:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
virtualTerminal
required |
VirtualTerminalSettings VirtualTerminalSettings | Virtual terminal settings for the merchant.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of VirtualTerminalSettings:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
processing
required |
ProcessingSettingsDto ProcessingSettingsDto | Processing settings for the merchant.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of ProcessingSettingsDto:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
features
required |
MerchantFeatureSettings MerchantFeatureSettings | Feature settings for the merchant.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of MerchantFeatureSettings:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
customFields
required |
array of CustomField array of CustomField | Custom fields for the merchant.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of each CustomField:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
branding
required |
MerchantBranding MerchantBranding | Gets or sets the merchant-level branding configuration for receipts and customer-facing communications.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of MerchantBranding:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
accountUpdater
required |
AccountUpdaterSettingsDto AccountUpdaterSettingsDto | Account updater settings for the merchant.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of AccountUpdaterSettingsDto:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
merchantFlowConfig
required |
MerchantFlowConfig MerchantFlowConfig | Gets or sets the optional transaction flow configuration that controls how transactions are orchestrated for this merchant.
Conditional: When MerchantFlowConfig is not null.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of MerchantFlowConfig:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
billingAssignment
required |
MerchantBillingAssignment MerchantBillingAssignment | Gets or sets the billing plan assignment for this merchant. A null value means the
merchant has no active billing plan and will be skipped by billing runs.
Conditional: When BillingAssignment is not null.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of MerchantBillingAssignment:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
notes
required |
array of EntityNote array of EntityNote | Operational notes attached to the merchant.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of each EntityNote:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
digitalWallets
required |
array of MerchantDigitalWallet array of MerchantDigitalWallet | Per-merchant digital wallet bindings (Apple Pay, Google Pay, …). At most one
entry per `WalletProviderType`; each row carries the master enable
flag and a pointer to the `WalletProviderRegistration` row this
merchant uses (platform-level or merchant-level).
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of each MerchantDigitalWallet:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
threeDSBindings
required |
array of MerchantThreeDSBinding array of MerchantThreeDSBinding | Per-merchant 3-D Secure provider bindings. At most one entry per `ThreeDSProviderType`;
each row carries the master enable flag, the policy mode, and the vendor credentials.
The JWT secret is write-only. It is never returned on a read, so a caller round-tripping a
merchant sends null back here; a null or empty secret on a save keeps the one already
stored, and a non-empty one replaces it. There is therefore no payload that clears a secret
without also removing the binding.
Conditional: When ThreeDSBindings is not null.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of each MerchantThreeDSBinding:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxBindings
required |
array of MerchantTaxBinding array of MerchantTaxBinding | Per-merchant tax provider bindings. At most one entry per provider name; each row carries the master
enable flag, whose provider account the lookups are billed to, and the provider's configuration
values.
Secret field values are write-only. They are never returned on a read, so a caller round-tripping a
merchant sends null back here; a null or empty secret on a save keeps the one already stored, and a
non-empty one replaces it. There is therefore no payload that clears a secret without also removing
the binding.
A binding whose credential source is `Gateway` must carry no field values: the gateway holds
those credentials, and a copy of them on a merchant document is exactly what the credential source
exists to avoid. The validator refuses a gateway-sourced binding that supplies any.
Conditional: When TaxBindings is not null.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of each MerchantTaxBinding:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shippingBindings
required |
array of MerchantShippingBinding array of MerchantShippingBinding | Per-merchant shipping rate provider bindings. At most one entry per provider name; each row carries
the master enable flag, whose provider account the quotes are billed to, and the provider's
configuration values.
Secret field values are write-only. They are never returned on a read, so a caller round-tripping a
merchant sends null back here; a null or empty secret on a save keeps the one already stored, and a
non-empty one replaces it. There is therefore no payload that clears a secret without also removing
the binding.
A binding whose credential source is `Gateway` must carry no field values: the gateway holds
those credentials, and a copy of them on a merchant document is exactly what the credential source
exists to avoid. The validator refuses a gateway-sourced binding that supplies any.
Conditional: When ShippingBindings is not null.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of each MerchantShippingBinding:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
paymentEncryptionBindings
required |
array of MerchantPaymentEncryptionBinding array of MerchantPaymentEncryptionBinding | Per-merchant payment encryption provider bindings. At most one entry per provider name; each row
carries the master enable flag, whose provider account the decryption calls are billed to, the
provider's configuration values, and the key serial identifier table.
Secret field values and key references are write-only. They are never returned on a read, so a
caller round-tripping a merchant sends null back here; a null or empty value on a save keeps the
one already stored, and a non-empty one replaces it. There is therefore no payload that clears a
secret without also removing the binding or the key entry.
A binding whose credential source is `Gateway` must carry no field values: the gateway holds
those credentials, and a copy of them on a merchant document is exactly what the credential source
exists to avoid. The validator refuses a gateway-sourced binding that supplies any. Key entries are
unaffected: a key serial identifier maps the merchant's own devices whichever account the calls are
billed to.
Conditional: When PaymentEncryptionBindings is not null.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of each MerchantPaymentEncryptionBinding:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This request body has no documented fields.
Responses
200 OK
Body:
MerchantDto
MerchantDto
Each item has these fields.
| Field | Type | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
extraProperties
required |
object |
nullableread only
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
id
required |
string (uuid) |
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
creationTime
required |
string (date-time) | The date and time when this entity was created.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
creatorId
required |
string (uuid) | The ID of the user who created this entity.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lastModificationTime
required |
string (date-time) | The date and time when this entity was last modified.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lastModifierId
required |
string (uuid) | The ID of the user who last modified this entity.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isDeleted
required |
boolean | Indicates whether this entity has been deleted.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deleterId
required |
string (uuid) | The ID of the user who deleted this entity, if it is deleted.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deletionTime
required |
string (date-time) | The date and time when this entity was deleted, if it is deleted.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
createdFromTemplateId
required |
string (uuid) | The template this record was created from, or `null` for one started blank. Set by the
create-from-template path and by the add/edit page's Load Template action when the record is
saved.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name
required |
string | Gets or sets the display name of the merchant.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
concurrencyStamp
required |
string | Gets or sets the concurrency stamp used for optimistic concurrency control.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tenantId
required |
string (uuid) | Gets the tenant identifier for multi-tenancy isolation.
nullableread only
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
resellerId
required |
string (uuid) | Gets or sets the unique identifier of the reseller that owns this merchant.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
resellerName
required |
string | Gets or sets the display name of the owning reseller.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
entityVersion
required |
integer (int32) | Gets the entity version number, incremented on each update for optimistic concurrency.
read only
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
customIdentifier
required |
string | Gets or sets an optional custom identifier assigned to the merchant by the reseller or integrator.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dba
required |
string | Gets or sets the "Doing Business As" (DBA) name for the merchant.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
legacyNumber
required |
integer (int64) | Gets the merchant's legacy numeric key, the integer identifier the v1 API addresses merchants
by (its `MerchantKey`). Server-owned and stamped once at create; null on merchants
written before the field existed until the v1 data migration back-fills them.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mcc
required |
string | Gets or sets the four-character ISO 18245 Merchant Category Code identifying the merchant's industry.
Null on legacy merchants that have not yet been backfilled; the merchant grid and detail view
surface a warning indicator in that case so internal staff can address it.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isTest
required |
boolean | Gets or sets a value indicating whether this merchant is a test account used for non-production transactions.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
environment
required |
MerchantEnvironment MerchantEnvironment | Gets or sets the merchant's lifecycle environment.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
planCode
required |
string | Gets or sets the plan this merchant is on, or `null` when it is on none.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
trialExpiresAt
required |
string (date-time) | Gets or sets when this merchant's trial ends, UTC, or `null` when it is not on
a time-limited plan.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
trialExpiryWarnedThresholdDays
required |
integer (int32) | Gets or sets the most recent trial expiry reminder sent in the current trial window, as the
number of days before `trialExpiresAt` it was sent at.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
processorMode
required |
MerchantProcessorMode MerchantProcessorMode | Gets or sets which processor a sandbox merchant's transactions route to.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isActive
required |
boolean | Gets or sets a value indicating whether the merchant is currently active and able to process transactions.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
contactDetail
required |
MerchantContactDetail MerchantContactDetail | Gets or sets the merchant's contact details including addresses, phone numbers, and email.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of MerchantContactDetail:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
businessInfo
required |
MerchantBusinessInfo MerchantBusinessInfo | Gets or sets the merchant's business information such as currency, tax IDs, and industry codes.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of MerchantBusinessInfo:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
virtualTerminal
required |
VirtualTerminalSettings VirtualTerminalSettings | Gets or sets the virtual terminal field configuration for the merchant.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of VirtualTerminalSettings:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
processing
required |
ProcessingSettingsDto ProcessingSettingsDto | Gets or sets the processing settings including duplicate checks, card verification, and processor profiles.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of ProcessingSettingsDto:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
features
required |
MerchantFeatureSettings MerchantFeatureSettings | Gets or sets the feature flags and capability settings for the merchant.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of MerchantFeatureSettings:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
capabilities
required |
MerchantCapabilitiesDto MerchantCapabilitiesDto | Gets or sets the read-only, server-computed capability flags derived from the
merchant's configuration (e.g., active processor profiles' enabled tenders).
Intended for UI affordance decisions; not enforced at submit time.
Populated by the AutoMapper profile on read; not accepted on Create/Update.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of MerchantCapabilitiesDto:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
customFields
required |
array of CustomField array of CustomField | Gets or sets the collection of custom fields defined for the merchant.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of each CustomField:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
branding
required |
MerchantBranding MerchantBranding | Gets or sets the merchant-level branding configuration for receipts and customer-facing communications.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of MerchantBranding:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
accountUpdater
required |
AccountUpdaterSettingsDto AccountUpdaterSettingsDto | Gets or sets the account updater configuration for this merchant.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of AccountUpdaterSettingsDto:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
merchantFlowConfig
required |
MerchantFlowConfig MerchantFlowConfig | Gets or sets the optional transaction flow configuration that controls how transactions are orchestrated for this merchant.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of MerchantFlowConfig:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
billingAssignment
required |
MerchantBillingAssignment MerchantBillingAssignment | Gets or sets the billing plan assignment for this merchant. A null value means the
merchant has no active billing plan and will be skipped by billing runs.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of MerchantBillingAssignment:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
notes
required |
array of EntityNote array of EntityNote | Gets or sets operational notes attached to the merchant.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of each EntityNote:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
saveWarnings
required |
array of MerchantSaveWarning array of MerchantSaveWarning | Non-blocking informational warnings produced by the most recent create/update of this
merchant (e.g. international-AVS-on-US-only-surface advisories).
`null` on read responses, populated (possibly with an empty list) on
create/update responses, so clients can distinguish "this isn't a save response"
(omitted from JSON via `WhenWritingDefault`) from
"saved successfully with no warnings" (empty array). Not persisted.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of each MerchantSaveWarning:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
volumeTrend
required |
array of number (double) array of | Metered transaction count per calendar month for this merchant, oldest to newest, as an
activity trend. `null` on every response that does not populate it (which is all of them
except the merchant list), so it is omitted from JSON entirely rather than serialized as
null. Not persisted.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
digitalWallets
required |
array of MerchantDigitalWallet array of MerchantDigitalWallet | Gets or sets the per-merchant digital wallet bindings (Apple Pay, Google Pay, …).
At most one entry per `WalletProviderType`; each carries the master enable
flag and a pointer to the `WalletProviderRegistration` row this merchant uses
(platform-level or merchant-level).
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of each MerchantDigitalWallet:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
threeDSBindings
required |
array of MerchantThreeDSBinding array of MerchantThreeDSBinding | Gets or sets the per-merchant 3-D Secure provider bindings. At most one entry per
`ThreeDSProviderType`; each carries the master enable flag, the policy mode, and the
vendor credentials.
<b>The JWT secret is never populated on a read.</b> It is stripped server-side before this
DTO leaves the application service, so a caller sees null there whether or not one is
stored. Sending null or an empty string back on a save keeps the stored secret; sending a
value replaces it.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of each MerchantThreeDSBinding:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxBindings
required |
array of MerchantTaxBinding array of MerchantTaxBinding | Gets or sets the per-merchant tax provider bindings. At most one entry per provider name; each
carries the master enable flag, whose provider account the lookups are billed to, and the
provider's configuration values.
<b>Secret field values are never populated on a read.</b> They are stripped server-side before this
DTO leaves the application service, and each field reports `isConfigured` instead so an
operator can tell a stored secret from an empty one. Sending null or an empty string back on a save
keeps the stored secret; sending a value replaces it.
A binding whose credential source is `Gateway` carries no values at all: the gateway's own
provider credentials are never copied onto a merchant, and are resolved at lookup time instead.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of each MerchantTaxBinding:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shippingBindings
required |
array of MerchantShippingBinding array of MerchantShippingBinding | Gets or sets the per-merchant shipping rate provider bindings. At most one entry per provider name;
each carries the master enable flag, whose provider account the quotes are billed to, and the
provider's configuration values.
<b>Secret field values are never populated on a read.</b> They are stripped server-side before this
DTO leaves the application service, and each field reports `isConfigured` instead so an
operator can tell a stored secret from an empty one. Sending null or an empty string back on a save
keeps the stored secret; sending a value replaces it.
A binding whose credential source is `Gateway` carries no values at all: the gateway's own
provider credentials are never copied onto a merchant, and are resolved at quote time instead.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of each MerchantShippingBinding:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
paymentEncryptionBindings
required |
array of MerchantPaymentEncryptionBinding array of MerchantPaymentEncryptionBinding | Gets or sets the per-merchant payment encryption provider bindings. At most one entry per provider
name; each carries the master enable flag, whose provider account the decryption calls are billed
to, the provider's configuration values, and the key serial identifier table.
<b>Secret field values and key references are never populated on a read.</b> They are stripped
server-side before this DTO leaves the application service. Each field reports
`isConfigured` and each key entry reports `isKeyReferenceConfigured` in their place, so
an operator can tell a stored value from an empty one. Sending null or an empty string back on a
save keeps the stored value; sending a value replaces it.
A binding whose credential source is `Gateway` carries no field values at all: the gateway's
own provider credentials are never copied onto a merchant, and are resolved at decryption time
instead. Key entries are the merchant's either way, because a key serial identifier maps that
merchant's own device fleet.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fields of each MerchantPaymentEncryptionBinding:
This body has no documented fields. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
promotedAt
required |
string (date-time) | When this merchant was promoted to `Production` through the
promotion action, UTC. Null for a merchant that has never been promoted that way.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
promotedByUserId
required |
string (uuid) | The user who ran the promotion that stamped `promotedAt`, or null when the
merchant has never been promoted through that action.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isLocked
required |
boolean |
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lockedAt
required |
string (date-time) |
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lockedByUserId
required |
string (uuid) |
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lockedByUserName
required |
string |
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lockReason
required |
string |
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This response has no documented body fields.
403 Forbidden
Body:
RemoteServiceErrorResponse
RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo RemoteServiceErrorInfo |
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This response has no documented body fields.
401 Unauthorized
Body:
RemoteServiceErrorResponse
RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo RemoteServiceErrorInfo |
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This response has no documented body fields.
400 Bad Request
Body:
RemoteServiceErrorResponse
RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo RemoteServiceErrorInfo |
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This response has no documented body fields.
404 Not Found
Body:
RemoteServiceErrorResponse
RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo RemoteServiceErrorInfo |
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This response has no documented body fields.
501 Not Implemented
Body:
RemoteServiceErrorResponse
RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo RemoteServiceErrorInfo |
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This response has no documented body fields.
500 Internal Server Error
Body:
RemoteServiceErrorResponse
RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo RemoteServiceErrorInfo |
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This response has no documented body fields.
default The request failed. The body carries the standard error envelope: a machine-readable `error.code`, a human-readable `error.message`, and `error.validationErrors` when the failure was a validation rejection. The error reference lists the values `error.code` can take. The request failed. The body carries the standard error envelope: a machine-readable `error.code`, a human-readable `error.message`, and `error.validationErrors` when the failure was a validation rejection. The error reference lists the values `error.code` can take.
Body:
RemoteServiceErrorResponse
RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo RemoteServiceErrorInfo |
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This response has no documented body fields.
429 The request was refused because a rate limit was exceeded, or because something a later retry can clear stopped it. A rate limit refusal carries an `application/problem+json` body: wait at least the interval `Retry-After` names before retrying, then back off. Limits are tuned per deployment, so read the allowance from the response headers rather than assuming a fixed ceiling. Any other refusal carries the standard error envelope as `application/json`, and its `error.code` names the cause.
Body:
RemoteServiceErrorResponse
RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo RemoteServiceErrorInfo |
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This response has no documented body fields.
Errors
A failed request returns the platform error envelope. The
error reference lists every value
error.code can carry and shows the four response shapes.