Merchant Onboarding
Complete guide to preparing merchants for payment processing through fintech connections
Merchant onboarding is the process of preparing a merchant to process payments through a fintech connection. This guide explains the complete journey from creating a merchant record to processing live transactions.
What is Onboarding?
When a merchant joins your platform and needs to process payments, they must be onboarded to one or more fintech connections (payment processors). Onboarding involves:
- Creating the merchant record in Preczn
- Collecting required business data and documentation
- Submitting to the connection for underwriting review
- Tracking approval status until the connection reaches
Active
Preczn simplifies this process by normalizing data requirements across processors, tracking what's needed versus what's collected, and providing multiple methods to gather merchant information.
The Onboarding Journey
flowchart LR
A[Create Merchant] --> B[Understand Requirements]
B --> C[Collect Data]
C --> D[Submit for Underwriting]
D --> E[Track Status]
E --> F[Ready to Process]
style A fill:#29b6f6,color:#000
style F fill:#66bb6a,color:#000
Step 1: Create the Merchant
Create a merchant record in Preczn using any of these methods:
| Method | Best For |
|---|---|
| Dashboard | Manual creation, one-off merchants |
| API | Automated onboarding flows |
| CSV Import | Migrating existing merchant portfolios |
| Connection Import | Importing merchants already boarded to a processor |
At this stage, the merchant exists in Preczn but cannot process payments. Each merchant receives a unique ID with the mid_ prefix (e.g., mid_01abc123def456).
NoteCreating a merchant does not automatically start the onboarding process. Merchants remain in a holding state until you explicitly initiate onboarding to a connection.
Step 2: Understand Requirements
Each connection has specific data requirements for underwriting. These vary by processor and may include:
| Category | Examples |
|---|---|
| Business Information | Legal name, DBA, address, tax ID, MCC code, sales volumes |
| Ownership | Owner details, ownership percentages, beneficial owners |
| Banking | Bank account for deposits, voided check |
| Attachments | Proof of incorporation, tax documentation, business license |
| Connection-Specific | Terms of service acceptance, digital signatures, IP address |
Preczn tracks what's required for each connection and what data you've already collected. Check requirements using:
- API: Get Merchant Requirements endpoint returns required fields, existing data, and missing items
- Dashboard: Merchant Vault shows missing requirement counts with detailed breakdowns
- Webhooks: Merchant events include connection statuses and missing data lists
Step 3: Collect Merchant Data
You have two primary approaches for gathering the required information:
Option A: Boarding Forms (Recommended for Sensitive Data)
Boarding forms are Preczn-hosted web forms that collect merchant data directly—without sensitive information touching your servers.
When to use boarding forms:
- You don't want to handle merchant banking information
- Merchants should complete their own applications
- You need a quick implementation without building forms
How it works:
- Generate a boarding form link via API
- Send the link to your merchant
- Merchant completes the form on a Preczn-hosted page
- Data is stored securely and associated with the merchant record
Option B: API Data Submission
Submit merchant data programmatically through the Merchant API.
When to use API submission:
- You already collect merchant data in your application
- You need full control over the user experience
- You're automating merchant onboarding at scale
How it works:
- Collect data through your own forms or systems
- Submit to Preczn via API calls
- Preczn validates and stores the data
Option C: Hybrid Approach
Combine both methods—use your existing systems for data you already collect, then generate a boarding form to capture remaining items like banking details or document uploads.
Step 4: Submit for Underwriting
Preczn continuously evaluates merchant data against connection requirements. When all required data is collected, the connection status automatically changes from Requirements to Ready, indicating the merchant is eligible for submission.
When you initiate onboarding (via API call, dashboard action, or automatic submission), Preczn:
- Transforms your normalized merchant data into the connection's required format
- Transmits the data to the processor's onboarding system
- Tracks the submission status in a standardized format
Manual vs. Automatic Submission
By default, submission requires an explicit API call or dashboard action—this gives you control over timing and allows batch submissions.
However, you can enable automatic submission by setting autoTransmitMerchantData: true on your boarding form template. When enabled, Preczn automatically submits the merchant to the connection as soon as the form is completed and all requirements are satisfied.
| Approach | When to Use |
|---|---|
| Manual submission | You want to review data before submission, or batch multiple merchants |
| Automatic submission | Self-service flows where merchants complete forms and should be submitted immediately |
Step 5: Track Status
Monitor onboarding progress through the Dashboard, API, or webhooks. Preczn normalizes status across all processors into a unified set of statuses.
Connection Status Reference
| Status | Description | Action Required |
|---|---|---|
Unconfigured | Connection lacks valid credentials | Configure connection credentials |
Requirements | Missing required merchant data | Collect missing data fields |
Ready | All requirements met, not yet submitted | Initiate onboarding |
Queued | Submission initiated, awaiting processing | Wait for processor |
Sent | Data transmitted to processor | Wait for response |
Underwriting | Processor reviewing application | Wait for decision |
RFI | Request for additional information | Provide requested data |
Active | Approved and ready to process | Merchant can process payments |
Error | Issue during onboarding | Review error details |
Rejected | Application declined | Review rejection reason |
Disabled | Merchant disabled by processor | Contact processor |
Closed | Account closed | N/A |
Cancelled | Onboarding cancelled | N/A |
Additional StatusesSome connections may use additional statuses such as
Evaluating,Inquiry,Pending, orPartialBoardedfor processor-specific workflow states. These appear in the samestatusfield on the connection object.
Webhook Events
Subscribe to merchant webhooks to receive real-time status updates. When a merchant's connection status changes, Preczn sends a merchant.updated webhook containing the full merchant record:
{
"event": "merchant.updated",
"data": {
"id": "mid_01abc123def456",
"name": "Acme Corp",
"connections": [
{
"id": "midCon_6v59stftbs837axmpahj21m8jf",
"processor": "Payrix",
"status": "Active",
"missingRequiredData": []
}
]
}
}The connections array includes each connection's current status and missingRequiredData fields, allowing you to track onboarding progress programmatically.
Ready to Process
Once a connection reaches Active status, the merchant can immediately process payments through that connection. Merchants are active by default (active: true), so no additional enablement step is required.
PlansMerchants must have a plan assigned to process transactions. Plans determine routing rules, fees, and other processing configurations. You can assign plans at any point during or after onboarding.
Operational ControlIf you need to temporarily prevent a merchant from processing (for compliance review, go-live timing, etc.), you can set
active: falseon the merchant record. This is optional and used for operational control—not a required onboarding step.
Choosing Your Approach
| Scenario | Recommended Approach |
|---|---|
| New platform, few merchants | Dashboard + Boarding Forms |
| Existing data in your system | API submission |
| Self-service merchant signup | Boarding Forms |
| High-volume automated onboarding | API submission |
| Mixed—some data collected, some not | Hybrid (API + Boarding Forms) |
Common Patterns
Implementation RequirementAll patterns require your system to store the Preczn merchant ID. Patterns using boarding forms also require tracking which form template to use. Plan your data model accordingly.
Best PracticeRegardless of which pattern you use, create the merchant record with whatever data you already have. Preczn will track which fields are still needed—there's no need to wait until you have complete information.
Self-Service Merchant Onboarding
For platforms where merchants sign up and complete their own applications:
- Merchant signs up on your platform
- Your system creates the merchant record via API (with plan assigned)
- Generate a boarding form link and redirect the merchant to complete it
- Merchant completes the form on the Preczn-hosted page
- Upon completion, merchant is redirected back to your application via the configured
returnUrl - Webhook notifies you when requirements are met
- Your system submits for underwriting (or use
autoTransmitMerchantDatafor automatic submission) - Webhook notifies you when connection reaches
Active - Merchant is ready to process payments
Operator-Assisted Onboarding
For platforms where operators manage onboarding through a CRM or back-office system:
- Merchant signs up on your platform
- Your system automatically creates the merchant record in Preczn via API
- Operator reviews the merchant in their CRM (e.g., Salesforce) and triggers boarding form creation
- Boarding form link is emailed to the merchant
- Merchant completes the form at their convenience
- Webhook notifies your system when requirements are met
- Operator or automated workflow submits for underwriting
- Webhook notifies you when connection reaches
Active - Merchant is ready to process payments
Platform-Controlled Onboarding
For platforms that want full control over the merchant onboarding experience:
- Merchant signs up on your platform
- Your system creates the merchant record via API (with plan assigned)
- Query the requirements endpoint to determine which fields are needed
- Display your own forms to collect the required data
- Submit collected data to Preczn via API as the merchant progresses
- Re-query requirements to update your UI with remaining fields
- When all requirements are met, submit for underwriting via API
- Poll status or receive webhook when connection reaches
Active - Merchant is ready to process payments
This approach gives you maximum UI/UX control—you design the entire merchant experience while Preczn handles data validation, transformation, and processor communication.
Updated about 2 hours ago
