NewMerchant Object
We’ve simplified the merchant creation process with an intuitive request structure.
The new merchant object is organized into three straightforward sections: legal, owners, and bankAccount.
Root Properties
- Name
 legal- Type
 object(required)- Description
 - Example
 Example:
- Name
 owners- Type
 array(nullable)- Description
 - There should not more than 4 owners. Each owner must have at least 25% ownership.
 - Example
 Example:
- Name
 controlProng- Type
 object(nullable)- Description
 - Information about the person with significant financial control over the business
 - Example
 Example:
- Name
 primaryContact- Type
 object(nullable)- Description
 - Information about the primary business contact person
 - Example
 Example:
- Name
 pciContact- Type
 object(nullable)- Description
 - Contact information for the person responsible for PCI compliance
 - Example
 Example:
- Name
 bankAccount- Type
 object(required)- Description
 - Bank account information for the merchant
 - Example
 Example:
When you specfic one of the owners as the control prong, pci contact or primary Contact, you do not have to provide the properties of controlProng, pciContact or primaryContact.
{
 "legal": {
   // ... Other Properties
   "ownershipType": "LIMITED"
 },
 "owners": [
   {
     "title": "CEO",
     "firstName": "John",
     "lastName": "Doe",
     "percentage": 100,
     "ssn": "666989898",
     "isControllingProng": true,
     "isPrimaryContact": true,
     "isPciContact": true
   }
  ],
 "bankAccount": { /** Properties */ },
 "controlProng": null,
 "primaryContact": null,
 "pciContact": null
}
BankAccount Properties
- Name
 name- Type
 string(required)- Description
 - Name of the financial institution
 - Length Constraints
 Length constraints:
Min Length: 1- Example
 Example:
"Chase Bank"
- Name
 routingNumber- Type
 string(required)- Description
 - 9-digit ABA routing transit number of the financial institution
 - Pattern
 Pattern:
^\d{9}$- Example
 Example:
"111000614"
- Name
 confirmRoutingNumber- Type
 string(required)- Description
 - Re-enter routing number for verification
 - Example
 Example:
"111000614"
- Name
 accountNumber- Type
 string(required)- Description
 - Bank account number (minimum 9 digits)
 - Pattern
 Pattern:
^\d+$- Length Constraints
 Length constraints:
Min Length: 9- Example
 Example:
"987654321012"
- Name
 confirmAccountNumber- Type
 string(required)- Description
 - Re-enter account number for verification
 - Example
 Example:
"987654321012"
Owners Properties
In order to create a unique identifier for the merchant, we need to know who owns this business. The owner object is an array of objects. Each object represents an owner of the business.
Sometimes the owner array is not needed depending on the type of business. Read more about ownershipType and how they affect the owner array.
- Name
 title- Type
 string(required)- Description
 - Title of the owner
 - Enum
 Possible values:
CEOCFOCOOOwnerPartnerPresidentSecretaryTreasurerVice PresidentMember LLCOther- Example
 Example:
"CEO"
- Name
 firstName- Type
 string(required)- Description
 - First name of the owner
 - Length Constraints
 Length constraints:
Min Length: 1- Example
 Example:
"John"
- Name
 lastName- Type
 string(required)- Description
 - Last name of the owner
 - Length Constraints
 Length constraints:
Min Length: 1- Example
 Example:
"Doe"
- Name
 percentage- Type
 number(required)- Description
 - Percentage of ownership
 - Example
 Example:
100
- Name
 ssn- Type
 string(required)- Description
 - Social Security Number
 - Pattern
 Pattern:
^\d{9}$- Example
 Example:
"666989898"
- Name
 dob- Type
 string(required)- Description
 - Date of birth of owner
 - Example
 Example:
"1990-05-05T00:00:00.000Z"
- Name
 address- Type
 object(required)- Description
 - Example
 Example:
- Name
 phone- Type
 string(required)- Description
 - Owner's phone number. Numbers with 555 will be rejected.
 - Pattern
 Pattern:
^\+(?:[0-9]){6,14}[0-9]$- Example
 Example:
"+12234567890"
- Name
 email- Type
 string (email)(required)- Description
 - Owner's email address
 - Example
 Example:
"user@example.com"
- Name
 isControllingProng- Type
 boolean(nullable)- Description
 - If this owner is the control prong, then mark as true. It will populate all the fields automatically for the controlProng fields. If you mark multiple owners as controlling prong, the first one will be used.
 - Example
 Example:
true
- Name
 isPrimaryContact- Type
 boolean(nullable)- Description
 - Designates whether this owner serves as the control prong for the business. Setting this to true will automatically populate all controlProng fields with this owner's information. Note: If multiple owners are marked as control prong, the system will prioritize the first one designated.
 - Example
 Example:
true
- Name
 isPciContact- Type
 boolean(nullable)- Description
 - Designates whether this person serves as the Payment Card Industry (PCI) contact for the business. Setting this to true identifies this individual as responsible for PCI compliance matters and related communications.
 - Example
 Example:
true
Legal Properties
We collect essential legal information (business name, address, and tax ID) to verify your business legitimacy and establish a unique merchant identifier.
- Name
 name- Type
 string(required)- Description
 - When ownershipType is "SOLE PROPRIETOR", this property should be the owner's name
 - Length Constraints
 Length constraints:
Min Length: 1Max Length: 100- Example
 Example:
"Dental Donuts LLC"
- Name
 dba- Type
 string(required)- Description
 - Doing business as name
 - Length Constraints
 Length constraints:
Min Length: 1Max Length: 24- Example
 Example:
"Merchant Dental"
- Name
 locationName- Type
 string(nullable)- Description
 - If the merchant has multiple locations, then this is useful to identify this application to that location.
 - Length Constraints
 Length constraints:
Min Length: 1- Example
 Example:
"Headquarters"
- Name
 taxId- Type
 string(required)- Description
 - Taxpayer ID or Tax Identification Number (TIN) Of Legal Business Entity
 - Pattern
 Pattern:
^\d{9}$- Example
 Example:
"666989898"
- Name
 address- Type
 object(required)- Description
 - Example
 Example:
- Name
 mailingAddressSameAsBusinessAddress- Type
 boolean(nullable)- Description
 - Example
 Example:
true
- Name
 mailingAddress- Type
 object(nullable)- Description
 - Example
 Example:
- Name
 ownershipType- Type
 string(required)- Description
 - Type of business entity
 - Enum
 Possible values:
GOVERNMENTPUBLIC COMPANYNON PROFIT ORGSOLE PROPRIETORJOINT STOCKPARTNERSHIPCORPORATIONLIMITED- Example
 Example:
"CORPORATION"
- Name
 category- Type
 string(nullable)- Description
 - Type of business category.
 - Enum
 Possible values:
MOTORETAIL- Example
 Example:
"RETAIL"
- Name
 productsSold- Type
 string(nullable)- Description
 - This is a description of what services or products are sold for this business.
 - Length Constraints
 Length constraints:
Max Length: 30- Example
 Example:
"Medical Services"
- Name
 phone- Type
 string(required)- Description
 - Business phone number. Numbers with 555 will be rejected.
 - Pattern
 Pattern:
^\+(?:[0-9]){6,14}[0-9]$- Example
 Example:
"+12234567890"
- Name
 email- Type
 string (email)(required)- Description
 - Business email address
 - Length Constraints
 Length constraints:
Min Length: 1- Example
 Example:
"business@example.com"
- Name
 dateOfIncorporation- Type
 string(required)- Description
 - Business incorporation date
 - Example
 Example:
"2020-01-01T00:00:00.000Z"
- Name
 website- Type
 string (uri)(nullable)- Description
 - Business website URL
 - Example
 Example:
"https://prahsys.com"
- Name
 averageTicketPrice- Type
 number(required)- Description
 - This is the average price of a single transaction
 - Example
 Example:
250
- Name
 highTicketPrice- Type
 number(required)- Description
 - This is the highest price of a single transaction
 - Example
 Example:
1000
- Name
 averageMonthlyVolume- Type
 number(required)- Description
 - This is the average monthly volume of transactions
 - Example
 Example:
28000
- Name
 averageYearlyVolume- Type
 number(nullable)- Description
 - This is the average yearly volume of transactions. You do not have to specify this because it can automatically be calculated from the averageMonthlyVolume.
 - Example
 Example:
336000
- Name
 b2bTransactionPercentage- Type
 number(nullable)- Description
 - Percentage of transactions that are business to business
 - Example
 Example:
0
- Name
 b2cTransactionPercentage- Type
 number(nullable)- Description
 - Percentage of transactions that are business to consumer
 - Example
 Example:
100
- Name
 cardPresentPercentage- Type
 number(nullable)- Description
 - A percentage of how many transactions are performed on a physical card terminal.
 - Example
 Example:
60
- Name
 cardNotPresentPercentage- Type
 number(nullable)- Description
 - A percentage of how many transactions are performed on on the internet.
 - Example
 Example:
40
legal.mailingAddress
When legal.mailingAddressSameAsBusinessAddress is set to true, the legal.mailingAddress properties are not required.
{
 "legal": {
   // ... Other Properties
   "mailingAddressSameAsBusinessAddress": true,
   "mailingAddress": null
 }
}}
legal.b2bTransactionPercentage 
 legal.b2cTransactionPercentage
The transaction percentage values reflect your target customer distribution. For example, if you exclusively sell to other businesses (B2B), set your b2bTransactionPercentage to 100. Conversely, if you only sell to consumers (B2C), set b2cTransactionPercentage to 100. You do not have to provide the properties of controlProng when one of the owners properties is isControllingProng: true. If you are selling to both B2B and B2C, you only need to provide one of the properties and it will automatically calculate the other.
{
 "legal": {
   // ... Other Properties
   // 'b2bTransactionPercentage' Will auto calculate to 60
   "b2bTransactionPercentage": null,
   "b2cTransactionPercentage": 40
 }
}}
Ownership Type Requirements
legal.ownershipType
The ownershipType tells us how the business is structured. Read the ownershipTypes below to understand what fields are required for each type of business.
LIMITED
This is a limited liability company (LLC). When ownershipType is LIMITED, there should be owners and a control prong.
LIMITED
{
    "legal": {
      "ownershipType": "LIMITED",
    },
    "bankAccount": { /** Properties */ },
    "owners": [ {} ],
    "controlProng": {} 
}
CORPORATION
This is a legally incorporated entity separate from its owners. When ownershipType is CORPORATION, there should be owners and a control prong.
CORPORATION
{
    "legal": {
      "ownershipType": "CORPORATION",
    },
    "bankAccount": { /** Properties */ },
    "owners": [ {} ],
    "controlProng": {} 
}
GOVERNMENT
This is a government entity or agency. When ownershipType is GOVERNMENT, no owners or control prong should be provided.
You must also specify the primary contact and PCI contact.
GOVERNMENT
{
    "legal": {
      "ownershipType": "GOVERNMENT",
    },
    "bankAccount": { /** Properties */ },
    "owners": null,
    "controlProng": null,
    "primaryContact": {},
    "pciContact": {} 
}
SOLE PROPRIETOR
This is a business owned and operated by a single individual. When ownershipType is SOLE PROPRIETOR, there should be only 1 owner and no control prong.
The legal.name field is required and should be the same as the owner’s name.
SOLE PROPRIETOR
{
    "legal": {
      "name": "John Doe",
      "ownershipType": "SOLE PROPRIETOR",
    },
    "bankAccount": { /** Properties */ },
    "owners": [
        // Only 1 owner should exist for SOLE PROPRIETOR
        { "firstName": "John", "lastName": "Doe", } 
    ],
    "controlProng": null
}
PUBLIC COMPANY
This is a corporation that offers securities for public trading. When ownershipType is PUBLIC COMPANY, no owners or control prong should be provided.
You must also specify the primary contact and PCI contact.
PUBLIC COMPANY
{
    "legal": {
      "ownershipType": "PUBLIC COMPANY",
    },
    "bankAccount": { /** Properties */ },
    "owners": null,
    "controlProng": null,
    "primaryContact": {},
    "pciContact": {} 
}
NON PROFIT ORG
This is a non-profit organization with tax-exempt status. When ownershipType is NON PROFIT ORG, there should be no owners. There should be a control prong.
You must also specify the primary contact and PCI contact.
NON PROFIT ORG
{
    "legal": {
      "ownershipType": "NON PROFIT ORG",
    },
    "bankAccount": { /** Properties */ },
    "owners": null,
    "controlProng": {},
    "primaryContact": {},
    "pciContact": {} 
}
JOINT STOCK
This is a joint-stock company with shared capital ownership. When ownershipType is JOINT STOCK, there should be owners and a control prong.
JOINT STOCK
{
    "legal": {
      "ownershipType": "JOINT STOCK",
    },
    "bankAccount": { /** Properties */ },
    "owners": [ {} ],
    "controlProng": {} 
}
PARTNERSHIP
This is a business owned by two or more partners. When ownershipType is PARTNERSHIP, there should be owners and a control prong.
PARTNERSHIP
{
    "legal": {
      "ownershipType": "PARTNERSHIP",
    },
    "bankAccount": { /** Properties */ },
    "owners": [ {} ],
    "controlProng": {} 
}