Merchants and Connections

A merchant can hold every connection your platform supports, but only one of each. What to do when a business needs two accounts at the same provider.

A merchant can hold every connection your platform supports — but only one of each. A single merchant record can hold a Stripe connection, an Adyen connection, a GreenSky connection, and a Payrix connection all at once. What it cannot hold is two Adyen connections, or two Stripe connections, or two of any single connection.

This page explains the rule and what to do when a business genuinely needs two accounts at the same provider.

ℹ️ Connection names on this page are examples

Stripe, Adyen, GreenSky, and Payrix appear throughout as illustrations only. The rule is identical for every connection Preczn supports — substitute whichever connections your platform has configured. Where something applies to one connection and not the others, the page says so explicitly.

One of each connection, never two of the same

Every merchant record carries a list of connections. There is exactly one entry per connection your platform has configured, and each entry holds one merchant identifier (MID) at that provider.

Supported
One merchant → Stripe and Adyen and Payrix
One merchant → Adyen and GreenSky
One merchant → two Adyen connections
One merchant → two Stripe connections

What makes a connection unique on a merchant is which connection it is — not what it does.

What a connection does is not a factor

Nothing stops a merchant from holding several connections that serve the same function. A merchant can hold two connections that process cards, two that process ACH, two that offer lending, or any other overlap your platform has configured.

Capability plays no part in the rule. Preczn never asks what a connection does when deciding whether a merchant may hold it — only whether that same connection is already on the merchant.

Overlapping connections are a normal, supported setup. When a merchant holds more than one connection that could take a given transaction, there are two ways the connection gets picked:

  • Name it on the request — send the connection's name in the processor field of the transaction request. The transaction goes to that connection and no routing rules are applied.
  • Leave it off — the routing rules on the merchant's plan decide which connection gets it.

Either way, the connection has to be part of the merchant's assigned plan. Naming a connection the plan does not include is rejected with Transaction routing could not be resolved. The requested processor is not part of the merchant's assigned routing plan.

The limit is only on duplicates of a single connection. Two different connections that do the same thing is fine. The same connection twice is not.

flowchart LR
  M["Merchant record<br/>Northside Auto"]
  M -->|✓| S["Stripe<br/>cards"]
  M -->|✓| A["Adyen<br/>cards + ACH"]
  M -->|✓| G["GreenSky<br/>consumer financing"]
  M -.->|✗ not allowed| A2["A second<br/>Adyen connection"]
  linkStyle 0,1,2 stroke:#2da44e,color:#2da44e
  linkStyle 3 stroke:#e5534b,color:#e5534b

Why the connection is the unique key

The set of connections on a merchant is generated by Preczn, not supplied by you. When a merchant is created, Preczn reads the connections configured on your platform for that mode and adds one entry per connection, each starting in Unconfigured status. You then supply credentials, or board the merchant, one connection at a time.

Merchant connection endpoints then address a connection by its name:

POST /v1/merchants/{merchantId}/connections/{connectionId}/onboard

{connectionId} is the connection's name — Stripe, Adyen, GreenSky, Payrix, and so on. There is one addressable Adyen connection on a merchant, one addressable Stripe connection, and no way to name a second of either.

ℹ️ Connections are also mode-specific

Test mode and live mode hold separate merchant records with separate connection sets. A merchant configured in test mode does not carry those credentials into live mode.

When a business needs two MIDs at the same provider

A business with two MIDs at the same provider needs two merchant records in Preczn — one per MID. This holds for every connection.

It comes up when a business runs separate accounts for separate purposes: two storefronts underwritten independently, a retail MID alongside an e-commerce MID, or two legal entities under one brand. Each of those is a distinct account at the provider, with its own underwriting, its own settlement, and its own MID. Preczn models it the same way: one merchant record per account.

For example, one business holding two Adyen MIDs:

flowchart LR
  M1["Merchant record 1<br/>Northside Auto — Main St"] -->|Adyen MID A| A["Adyen"]
  M2["Merchant record 2<br/>Northside Auto — Oak Ave"] -->|Adyen MID B| A

Both records can be assigned the same plan and use the same routing rules. They are independent merchants in every other respect: separate transaction history, separate connection statuses, separate onboarding.

Setting up the second record

  1. Create a second merchant — through the Dashboard, the Merchant API, or a boarding form, the same way you created the first.
  2. Give it a distinct externalId — this is your own identifier for the merchant, and Preczn requires it to be unique. If both records map to one ID in your system, add a suffix to each. See the FAQ below.
  3. Configure only the connection it needssupply the second MID's credentials on the relevant connection, or board the merchant to it. Leave the connections it does not use in Unconfigured.
  4. Assign a plan — both records can share a plan, or use different plans if they should route differently.

⚠️ Give each record a name you can tell apart

Two records for the same business are easy to confuse in the Merchant Vault. Include the distinguishing detail — location, entity, or channel — in the merchant name.

When your platform has more than one Adyen for Platforms connection

ℹ️ This section is Adyen for Platforms only

Unlike the rest of this page, what follows applies to a single connection. Other connections have no equivalent setting.

Your platform can have more than one Adyen for Platforms connection configured, so that different merchants board under different Adyen merchant accounts.

This does not change the rule. The merchant still holds exactly one Adyen for Platforms connection — what changes is which of your platform's Adyen for Platforms connections that merchant is boarded under. Set it with platformConnectionId on the merchant's connection, which is required when your platform has more than one Adyen for Platforms connection configured.

To see the choices available for a given merchant:

GET /v1/merchants/mid_2zyd88xrnr90xskmjmqpd0x1vj/connections/AdyenForPlatforms/available-platform-connections
[
  {
    "id": "pfmCon_4m2q7v8xhd10rskbjnwpq3z6ta",
    "name": "AFP — US Retail",
    "companyId": "PrecznCompany_US",
    "processorMid": "PrecznMerchant_Retail"
  },
  {
    "id": "pfmCon_9k4t1c5yrb72mslfjhxpd8w0eu",
    "name": "AFP — US Marketplace",
    "companyId": "PrecznCompany_US",
    "processorMid": "PrecznMerchant_Marketplace"
  }
]

Then set the merchant's connection to one of them with PATCH /v1/merchants/{merchantId}/connections/AdyenForPlatforms:

{
  "platformConnectionId": "pfmCon_4m2q7v8xhd10rskbjnwpq3z6ta"
}

Frequently asked questions

Can one merchant have more than one connection?

Yes. A merchant can hold every connection your platform has configured, and process against all of them at once. The only restriction is that it cannot hold the same connection twice.

Can one merchant have two connections that serve the same function?

Yes. Two connections that process cards, two that process ACH, two that offer lending — all supported, for any overlap your platform has configured. What a connection does never factors into whether a merchant can hold it.

When more than one connection could take a given transaction, each transaction either names its connection directly in the processor field, or omits it and lets the routing rules on the merchant's plan decide.

Can one merchant have two Adyen connections?

No, and the same applies to every other connection. Each connection appears once on a merchant and holds a single MID. A business with two Adyen MIDs needs two merchant records, one per MID.

Does a second merchant record mean the business gets underwritten twice?

Yes, at the provider. Each MID is a separate account with its own underwriting, so the provider evaluates each application independently. That is true whether the second account is opened through Preczn or directly with the provider.

What if both merchant records map to a single ID in my system?

externalId has to be unique within your platform for a given mode, so two merchant records cannot share one. Sending a value another merchant already holds is rejected with a 409 Conflict:

A merchant already exists with this external ID (MID: mid_2zyd88xrnr90xskmjmqpd0x1vj)

When your own system has a single ID for the business, add a modifier to each record. If your ID is 123, create the first merchant as 123-a and the second as 123-b:

Merchant recordexternalId
Northside Auto — Main St123-a
Northside Auto — Oak Ave123-b

Any consistent scheme works — 123-main and 123-oak are just as good — as long as your system can map the value back to 123. Pick one convention and use it everywhere, so the suffix stays predictable when you reconcile reporting.

Two details worth knowing:

  • externalId is capped at 50 characters, which a suffix eats into.
  • Test mode and live mode are separate scopes, so 123-a in test does not conflict with 123-a in live.
Can I move a MID from one merchant record to another?

Not by moving the connection itself — a connection cannot be transferred between merchant records. Instead, add the MID to the record that should hold it, then reset the connection on the record that should not.

  1. Add the credentials to the destination record — open that merchant's connection and enter the existing MID and credentials, the same way you would link any existing credentials. Do this first, so the MID is never left unattached.
  2. Reset the connection on the original record — open the merchant from the Merchant Vault or its merchant detail page and click the connection you want to clear. In the top right of the connection drawer, click the options button (three dots), choose Reset Connection, and confirm.

Resetting returns a connection to an empty state on that merchant:

  • Credentials, the MID, and all connection-specific data are removed.
  • That connection's ID references are removed from the merchant's owners and bank accounts.
  • The status returns to Unconfigured. For connections that support onboarding through Preczn, a requirements re-evaluation runs straight afterward and may move the status on to Requirements.

⚠️ A reset cannot be undone

Cleared credentials and connection data cannot be restored — they have to be entered again. Reset is a Dashboard action; there is no API equivalent.

Transaction history stays with the record it was created under. Moving a MID does not move the transactions that were processed under it.

Why does a merchant show connections it has never used?

Every merchant is created with one entry per connection configured on your platform, so connections the merchant has not been set up for appear in Unconfigured status. In the Merchant Vault these show as greyed-out connection icons. They stay inactive until credentials are added or the merchant is boarded.

Do the two merchant records share transaction data or reporting?

No. Each merchant record has its own transaction history, connection statuses, and reporting. If you need a combined view of a business split across records, group them with a shared label or correlate them by your own externalId convention.


Did this page help you?