Boarding API
The Boarding API provides partners with a powerful and flexible set of tools to manage the complete onboarding process. It enables seamless integration to create, update, and maintain critical elements of your merchant program.
With the Boarding API, partners can:
- Create and Manage Agents
Easily register new agent profiles (individuals or companies), update existing information, and manage agent records throughout their lifecycle. - Create and Manage Merchants
Onboard new merchant profiles (business or personal), update their details, manage required documents, and monitor compliance status including KYC and KYB. - Create and Manage Accounts
Establish and configure Payments and Treasury accounts for merchants, including pricing, billing options, and services setup.
The Boarding API supports end-to-end onboarding — from initial profile creation to final account setup — with real-time status updates and webhook support to keep your systems fully synchronized.
Key Features:
- Intuitive RESTful endpoints
- Role-specific workflows for Agents, Merchants, and Accounts
- Full control over onboarding, updates, and archival
- Real-time webhook notifications for critical updates
- Flexible configuration for card-present, card-not-present, and treasury services
Agents
The main advantage of using this feature fits the scenario where your business strategy makes use of agents with their own merchants. In this case, you can delegate the management of these merchants to the agent themself. This may reinforce your business strategy because your agents having access to their own merchants helps the relationship with them, and this gives them more transparency and a certain level of independence.
Another possibility to apply this feature is when you have specific teams working with specific subgroups of your merchants. Companies may decide to create teams to deal with their merchants, based on specific criteria such as size, region, volume, method of acceptance, vertical, etc. This provides flexibility on management and independency between the teams. When an Agent is created, they will receive an activation email which includes credentials to login.
Managing Agents
If an agent’s circumstances change, you may need to update their information. The following actions allow you to manage your agents:
- List all Agents
- Get information for a specific Agent
- Update Agent information
- Delete an Agent
Creating Agents
Overview
This API request allows you to create an Individual or Company Agent.
You can choose to send an activation email upon creation.
Method and Endpoint
- Method: POST
- Endpoint:
/v1/agents
Request Fields
| Field | Type | Description | Required |
|---|---|---|---|
| type | String | Type of agent: "Individual" or "Company". | Yes |
| sendActivationEmail | Boolean | If true, an activation email will be sent to the agent upon creation. | Yes |
| agentDetails | Object | Object containing detailed information about the agent. | Yes |
agentDetails Object Fields
Depending on the type, different fields are used:
| Field | Type | Description | Required (Individual/Company) |
|---|---|---|---|
| firstName | String | First name of the agent. | Required for Individual |
| lastName | String | Last name of the agent. | Required for Individual |
| companyName | String | Name of the company. | Required for Company |
| companyDba | String | Doing Business As name (DBA). Can be left empty. | Optional for Company |
| address | String | Street address of the agent or company. | Required |
| city | String | City of the agent or company. | Required |
| state | String | State or province code (e.g., QC) when US or Canada. | Required |
| zip | String | Zip or Postal code (e.g., 12345, H1H1H1). | Required |
| country | String | Country code (ISO 2-letter code, e.g., CA). | Required |
| phone | String | Phone number (no special characters). | Required |
| String | Valid email address. | Required |
List Agents
These requests allow users to retrieve information about either:
- All agents under their program, or
- A specific agent by their unique UUID.
Rules:
- If no UUID is provided, all agents are listed.
- If a UUID is provided, only the specific agent’s information is returned.
- Useful for administrative dashboards, reporting, and managing agent accounts.
Methods and Endpoints
Get List All Agents
- Method: GET
- Endpoint:
/v1/agents/
Get Specific Agent
- Method: GET
- Endpoint:
/v1/agents/{agentUuid}
| Path Parameter (for Get Agent) | Type | Description |
|---|---|---|
| agentUuid | String (UUID) | Unique identifier of the agent to retrieve. |
Notes:
- If you retrieve all agents, the response will return a list of agent objects inside the body array.
- When retrieving a specific agent, the response will contain one agent object inside the body.
Update Agents
If an existing agent’s circumstances change (either Individual or Company), you may need to update their information.
Rules:
- Only the fields that need to be updated should be included in the PATCH request body.
- Agent type and agent email cannot be changed via this API.
- To update those, contact your Relationship Manager or Support.
- Fields follow the same structure as those used when creating an agent.
Method and Endpoint
- Method: PATCH
- Endpoint:
/v1/agents/{AgentUuid}
Path Parameter
| Path Parameter (for Update Agent) | Type | Description |
|---|---|---|
| AgentUuid | String (UUID) | Unique identifier of the agent to update. |
Request Body Schema
| Field | Type | Description | Required? |
|---|---|---|---|
| sendActivationEmail | Boolean | Whether to resend activation email (if needed). | Optional |
| agentDetails | Object | Object containing agent’s information (first name, last name, address, phone, etc.). Only include the fields you want to update. | Optional |
Notes:
- Partial updates are supported: only fields included in the request are modified.
- To change agent type or agent email, you must contact Support or your Relationship Manager.
- Ensure that the UUID provided belongs to an existing agent.
Delete Agents
This request allows you to archive (delete) an agent from their program.
Rules:
- Must be an existing agent.
- Once an agent is deleted (archived), it cannot be retrieved — use with caution.
Method and Endpoint
- Method: DELETE
- Endpoint:
/v1/agents/{Agentuuid}
Path Parameter
| Path Parameter (for Delete Agent) | Type | Description |
|---|---|---|
| AgentUuid | String (UUID) | Unique identifier of the agent to update. |
Notes:
- Deletion is final — there is no recovery option after an agent is deleted.
- Ensure that you are deleting the correct agent UUID.
Merchants
As a partner, you can embed all aspects of boarding and managing a merchant’s profile into your software or application. This includes collection of all the necessary information about the merchant, submitting the boarding request, and receiving the merchant’s account information and settings once approved.
The merchant boarding process has two phases:
- 1. Enrollment phase where the merchant's business and beneficial ownership information and required documents is collected and submitted.
- 2. Underwriting phase where the business information and identity of the owners is verified and the new account is configured and activated.
If you choose this method you will need to create all the forms necessary to collect the required merchant information in your software, application or site. Below are some of the advantages of this integration method:
- Integrate seamlessly into your software or application and completely control your merchants' experience
- Use API-driven merchant boarding
- Receive webhook notifications on all merchant actions across profiles, accounts, transactions, compliance
The merchant profile contains information about the business and must be associated to solution. Accounts can only be created under existing merchant profiles. The Implementations Team will work with you to make available the solution(s) needed for your use case.
Boarding Steps
There are two options when boarding a new merchant profile. A low code option is using the enrollment form. If using the API, creating a new merchant profile and account has three steps:
- 1. Create Merchant Profile
- 2. Create an Account Intake
- 3. Upload Documents for the business and contacts
- * Email Verification (if not completed prior to merchant submission)
Managing Profiles
If a merchant's circumstances change, they may need to update their profile information. This method allows a partner to update merchant information. You will receive a webhook notification once the edit is complete. Use the following to manage your merchant profiles:
- List all Profiles
- Get information for a specific Profile
- Update Merchant Profile
- Archive a Merchant Profile
- Delete a Business Contact
Certain manage actions can only be taken when the Profile status is New. Once the status has been updated, certain information can only be updated by an administrative officer.
Enrollment Form
Overview
This API request triggers sending an Enrollment Form to a merchant based on their email and solution.
Method and Endpoint
- Method: POST
- Endpoint:
/v1/merchants/enrollment-form
When this request is made:
- An enrollment link is returned in the response.
- Optionally, an email is automatically sent to the merchant with the link if an email is included.
Request Fields
| Field | Type | Description | Required |
|---|---|---|---|
| solutionUuid | String (UUID) | Unique identifier of the solution or platform the enrollment relates to. | Yes |
| String | Optionally, an email is automatically sent to the merchant with the link if an email is included. | Optional |
Creating Profiles
Overview
The Create Merchant Profile API allows you to enroll a new merchant into the platform based on the solution configuration.
Merchants can be created under two possible profile types:
- Business Profile: Intended for companies, corporations, and businesses. Business profiles may request either Payments services, Treasury services, or both, depending on the Solution setup.
- Personal Profile: Intended for individuals (natural persons). Personal profiles are only eligible for Treasury services (Payments service is not allowed).
Method and Endpoint
- Method: POST
- Endpoint:
v1/merchants
Services Available
| Service | Description |
|---|---|
| payments | Enables credit card payment processing for merchants. |
| treasury | Provides banking-like services, fund transfers, debit card issuance, and account management. |
Questionnaires and Special Conditions
| Condition | Requirement |
|---|---|
| Payments Service - Card Not Present (CNP) or Future Delivery | Requires CNP Questionnaire. |
| Payments Service - Card Present (POS, Mobile, Unattended) | CNP Questionnaire only required if future delivery is involved. |
| Treasury Service | Always requires a Treasury Questionnaire. |
| Both Payments + Treasury | Requires both CNP and Treasury Questionnaires to be included. |
Common and Conditional Fields: Create Merchant Profile
| Field | Type | Required? | Comments |
|---|---|---|---|
| solutionUuid | String (UUID) | Always | Unique identifier of the solution |
| agentUuid | String (UUID) | Optional | Link to referring agent if applicable. Can be null or empty. |
| profileType | String | Always | Business or Personal. Depending on solution enablement. |
| sendEnrollmentEmail | Boolean | Optional | Whether to send an enrollment confirmation email to the merchant. |
| sendEmailVerification | Boolean | Optional | Whether to send an email verification link. |
| emailVerified | Boolean | Always | Select true if email has already been verified. |
| agreedTerms | Boolean | Always | Must confirm the merchant agreed to Terms of Service. |
| services | Array or String | Always | payments, treasury, or both. Depending on solution enablement. |
| newBusiness | Boolean | Required if Profile is Business | Indicates if this is a new company. |
| methodOfAcceptance | Object | Required if Payments service selected | Required for Card Present and Card Not Present merchants (different fields). |
| website | String | Required if Card Not Present | Merchant website URL that will be used for accepting payments. |
| websiteLive | Boolean | Required if website provided | Whether the website is active/live. |
| business | Object | Required if Profile is Business | Company information structure. |
| personalContact | Object | Required if Profile is Personal | Personal contact information. |
| businessInfo | Object | Required if Payments service selected | Includes MCC, industry, sales info, customer service contacts, etc. |
| questionnaire | Object | Required if Payments service and Card Not Present or Future Delivery | CNP/Future Delivery questionnaire for Payments merchants. |
| treasuryQuestionnaire | Object | Required if Treasury service selected | Treasury use, methods, source of funds, etc. |
Field Descriptions for Object: methodOfAcceptance
This object describes how the merchant accepts payments. The fields required depend on whether the merchant is Card Present or Card Not Present.
| Field | Type | Description | Required? |
|---|---|---|---|
| ecommerce | String (0 - 100) | Percentage of sales completed via online ecommerce website. | Required for Card Not Present merchants |
| moto | String (0 - 100) | Percentage of sales completed via Mail Order/Telephone Order (MOTO). | Required for Card Not Present merchants |
| inapp | String (0 - 100) | Percentage of sales completed via a mobile app (in-app purchases). | Required for Card Not Present merchants |
| pos | String (0 - 100) | Percentage of sales processed through Point-of-Sale (physical) terminals. | Required for Card Present merchants |
| mobile | String (0 - 100) | Percentage of sales through mobile readers (e.g., phone-based card readers). | Required for Card Present merchants |
| unattended | String (0 - 100) | Percentage of sales processed through unattended terminals (e.g., kiosks). | Required for Card Present merchants |
Notes:
- Percentages across the relevant method fields should equal 100.
- If the merchant accepts only ecommerce sales (CNP), ecommerce should be 100, moto and inapp should be 0.
- If the merchant accepts only physical card sales (Card Present), pos, mobile, and/or unattended should equal 100.
- This object is only required if the Payments service is selected.
Field Descriptions for Object: business
This object contains company details for Business Profiles. It is mandatory when the profileType is "Business".
| Field | Type | Description | Required? |
|---|---|---|---|
| companyRegnum | String | Official company registration or incorporation number. | Required |
| companyName | String | Full legal name of the company. | Required |
| companyDba | String | DBA (Doing Business As) name, if different from legal name. | Optional |
| companyType | String | Type of business entity (e.g., Corporation, LLC, Incorporation). | Required |
| companyAddress | String | Street address of the company. | Required |
| companyCity | String | City where the company is located. | Required |
| companyState | String | State or province (2 letter abbreviation for CA or US). | Required |
| companyZip | String | Postal code or ZIP code. | Required |
| companyCountry | String (2-letter code) | Country where the company is registered (e.g., CA for Canada). | Required |
| companyPhone | String | Main company phone number. | Required |
| companyEmail | String | Company email address. | Required |
| companyWebsite | String | Company website URL. | Optional |
| companyDate | String (YYYY-MM-DD) | Date of incorporation or registration. | Required |
| companyTaxId | String | Tax Identification Number (TIN, EIN, or equivalent). | Required |
| businessContacts | Array of Objects | List of key business owners or principals. See separate section. | Required |
| companyBanking | Object | Banking information used for settlements. See separate section. | Required |
| companyLocations | Array of Objects | Other physical business locations, if any. | Optional |
Notes:
- The businessContacts array must include at least one principal with full details.
- The companyBanking object is critical for payouts or settlements.
- companyLocations can be left empty if there are no additional sites.
Field Descriptions for Object: businessContacts
The businessContacts object contains information about the owners or key individuals responsible for the business
Multiple businessContacts can be provided if needed (ex: multiple principals).
| Field | Type | Description | Required? |
|---|---|---|---|
| contactType | String | Role of the individual. Must be Principal. | Required |
| firstName | String | First name of the business contact. | Required |
| middleName | String | Middle name of the contact. (Can be blank if none.) | Optional |
| lastName | String | Last name of the business contact. | Required |
| dateOfBirth | String (YYYY-MM-DD) | Date of birth. | Required |
| ssn | String | Social Security Number (U.S.) or SIN (Canada) of the contact. Format: numeric, no dashes or spaces. | Required (depends on region) |
| address | String | Street address of the business contact. | Required |
| city | String | City of residence. | Required |
| state | String | State or province (2 letter abbreviation for CA or US). | Required |
| zip | String | Postal code or ZIP. | Required |
| country | String | 2-letter country code. | Required |
| phone | String | Phone number. | Required |
| String | Email address. | Required | |
| ownership | Number (0-100) | Percentage of ownership in the company (e.g., 100 for full ownership). | Required |
Notes:
- At least one principal is required.
- Ownership percentages must total 100% across all principals.
- SSN/SIN is required for U.S. & Canadian based merchants; in other regions, it may be optional.
Field Descriptions for Object: companyBanking
This object defines the bank account where funds are deposited or withdrawn.
| Field | Type | Description | Required? |
|---|---|---|---|
| name | String | Name of the bank institution. | Required |
| phone | String | Bank branch phone number. | Optional |
| address | String | Bank branch address. | Required |
| city | String | Bank branch city. | Required |
| state | String | State or province of the bank branch. (2 letter abbreviation for CA or US). | Required |
| zip | String | Postal code or ZIP of bank branch. | Required |
| country | String | 2-letter country code. | Required |
| accountName | String | Account holder name. | Required |
| accountNumber | String | Bank account number. | Required |
| institutionNumber | String | Institution number (Canada only). | Required for Canada |
| transitNumber | String | Transit number for bank branch. | Required for Canada |
| routingNumber | String | Routing number (USA only). | Required for USA |
| swiftCode | String | Swift code for international banks. | Required outside USA/Canada |
Notes for companyBanking:
- For Canada, institutionNumber and transitNumber are required.
- For U.S., routingNumber is required.
- For Rest of World, swiftCode is required.
- Always validate that account information matches the business's legal entity name.
Field Descriptions for Object: businessInfo
This object captures the business operation details and payment processing profile.
It is mandatory when the merchant is requesting Payments services.
| Field | Type | Description | Required? |
|---|---|---|---|
| mcc | String | Merchant Category Code (4-digit code defining the merchant’s industry). | Required |
| industry | String | General description of the merchant's industry (e.g., E-Commerce, Retail). | Required |
| businessLength | String | Length of time the business has been operating (e.g., 2Year, 10Year). | Required |
| billingDescriptor | String | Short description for credit card statements. | Required |
| everFiledForBankruptcy | String (Yes/No) | Has the business filed for bankruptcy? | Required |
| detailedDescription | String | Description of products or services offered. | Required |
| beenFlaggedOrViolation | String (Yes/No) | History of flagged violations or fraud. | Required |
| currentlyPreviouslyAcceptedCreditCards | String (Yes/No) | Accepting credit cards now or in the past? | Required |
| paymentProvider | String | Previous payment provider (optional). | Optional |
| refundRatio | Number | Historical refund ratio (percentage, expressed as a number). | Optional |
| chargebackRatio | Number | Historical chargeback ratio (percentage, expressed as a number). | Optional |
| transactionCurrencies | Array of Strings | List of currencies in which the business transacts (e.g., CAD, USD). Depending on solution enablement. | Required |
| monthlySalesVolume | Number | Estimated total monthly sales volume. | Required |
| averageTransactionValue | Number | Average transaction size. | Required |
| highestTransactionValue | Number | Largest single transaction. | Required |
| paymentType | Array of Strings | Card types accepted (e.g., visa, masterCard, amex, discover, interac). Depending on solution enablement. | Required |
| paymentFrequency | String | How often payments are processed. | Required |
| paymentTakesPlace | String | When payment is captured (e.g., UponPurchase, AfterDelivery). | Required |
| accountOptions | Array of Strings | Additional account features (e.g., multiCurrency). Depending on solution enablement. | Optional |
| origin | Object | Breakdown of transaction origins by region. See separate breakdown. | Required |
| delivery | Object | Delivery timeframes of products/services. | Required |
| affiliatePrograms | String (Yes/No) | Use of affiliate marketing. | Optional |
| customerServiceEmail | String | Email for customer support. | Required |
| customerServiceTelephone | String | Phone for customer support. | Required |
| chargebackNotificationEmail | String | Email for chargeback notifications. | Required |
| securityAndCbHandling | String | Description of security and chargeback management. | Optional |
Notes:
- origin and delivery should have percentages that equal 100%.
Field Descriptions for Object: personalContact
This object contains personal information for Personal Profiles (Treasury services only).
It is mandatory when the profileType is "Personal".
| Field | Type | Description | Required? |
|---|---|---|---|
| firstName | String | First name of the individual. | Required |
| middleName | String | Middle name (optional). | Optional |
| lastName | String | Last name of the individual. | Required |
| dateOfBirth | String (YYYY-MM-DD) | Date of birth. | Required |
| ssn | String | SSN/SIN (or equivalent identification number). | Required |
| address | String | Street address. | Required |
| city | String | City of residence. | Required |
| state | String | State or province (2 letter abbreviation for CA or US). | Required |
| zip | String | Postal code or ZIP code. | Required |
| country | String | 2-letter country code. | Required |
| phone | String | Phone number. | Required |
| String | Email address. | Required |
Notes:
- personalContact is only present in requests where profileType = "Personal".
- Personal Profiles can only request Treasury services (no Payments services allowed)
Field Descriptions for Object: questionnaire
(For Card Not Present (CNP) or Future Delivery Payments Merchants)
This object collects additional risk and operational details for merchants offering Card Not Present sales or future delivery products/services.
It is mandatory when:
- The merchant accepts Card Not Present (CNP) payments, or
- The merchant delivers goods/services after the payment date (future delivery).
| Field | Type | Description | Required? |
|---|---|---|---|
| percentOfSales | Object | Breakdown of sales to end customers vs. business-to-business. | Required |
| methodOfMarketing | Array of Strings | Methods used to market services (e.g., SocialMedia, Internet). | Required |
| whenCharge | String | When customer is charged (e.g., DayOfOrder, AtShipment). | Required |
| futureDelivery | String (Yes/No) | Products/services delivered at a future date? | Required |
| isFinalPayment | String (Yes/No) | Is captured payment final? | Required |
| negativeBilling | String (Yes/No) | Uses negative option billing models? | Required |
| offerProductWarranty | String (Yes/No) | Offers warranties? | Required |
| refundPolicy | String | Description of the refund policy timeframe (e.g., 30Days). | Required |
| paymentInformationEnter | String | Who enters payment information (e.g., Consumer, Merchant). | Required |
| cardPaymentByInternet | String (Yes/No) | Collect payment card data via internet? | Required |
| paymentChannelSsl | String (Yes/No) | Payment collection channel uses SSL? | Required |
| ownProduct | String (Yes/No) | Own the product or service being sold? | Required |
| productShipped | String | Are products physically shipped? | Required |
| methodDelivery | String | Method of delivery (e.g., Courier, NA). | Required |
| trackingNumber | String | Are tracking numbers provided? | Required |
Sub-Object: percentOfSales
| Field | Type | Description | Required? |
|---|---|---|---|
| customers | String | Percentage of sales directly to end customers (e.g., 100). | Required |
| business | String | Percentage of sales to other businesses (e.g., 0). | Required |
Notes:
- All fields are required if the merchant falls under Card Not Present or future delivery categories.
- methodOfMarketing must list one or more marketing channels.
Field Descriptions for Object: treasuryQuestionnaire
(For Treasury Service Merchants)
This object collects banking and fund movement details for merchants requesting Treasury services.
It is mandatory whenever the service "treasury" is selected (Business or Personal Profiles).
| Field | Type | Description | Required? |
|---|---|---|---|
| accountUse | String | Purpose of the treasury account (Business or Personal Use). | Required |
| methods | Array of Strings | Transaction methods used (e.g., accountTransfer, debitCards). Depending on solution enablement. | Required |
| modules | Array of Strings | Treasury modules activated (e.g., tradeDesk). Depending on solution enablement. | Optional |
| treasuryaccountOptions | Array of Strings | Account features requested (e.g., multiCurrency). Depending on solution enablement. | Optional |
| reasonForAccount | String | Reason the account is being opened. | Required |
| sourceOfFunds | String | Origin of deposited funds. | Required |
| treasuryIndustry | String | Industry or sector related to treasury transactions. | Required |
| businessDescription | String | Description of business activities (optional). | Optional |
| monthlyDeposits | String | Estimated number of deposits per month. | Required |
| monthlyDepositVolume | Number | Estimated dollar value of monthly deposits. | Required |
| monthlyWithdrawals | String | Estimated number of withdrawals per month. | Required |
| monthlyWithdrawalsVolume | Number | Estimated dollar value of monthly withdrawals. | Required |
| monthlyCardsIssued | Integer | Number of debit cards issued per month (optional). | Optional |
Notes:
- accountUse should match the type of profile (e.g., Business profile ➔ Business Use).
- For Personal Profiles, businessDescription can be left blank.
- Treasury merchants handling debit card issuance should accurately estimate monthlyCardsIssued.
- If no modules are activated, the modules array can be empty.
Creating Account Intake
The Create Account Intake API allows for the creation of a merchant account under either Payments services or Treasury services, depending on the merchant's intended operations.
This request is a step after creating a Merchant Profile — it defines the merchant’s account configuration, fees, billing model, and available methods.
Method and Endpoint
- Method: POST
- Endpoint:
/v1/merchants/{profileUuid}/intake
Account Types Available
| intakeType | intakeAccountType | Description |
|---|---|---|
| payments | Card Present | Used for merchants accepting payments through in-person, physical POS systems. |
| payments | Card Not Present | Used for merchants accepting payments through online, phone, or mail channels. |
| treasury | Business | Treasury account for companies needing fund management, transfers, and debit card services. |
| treasury | Personal | Treasury account for individuals needing personal financial services (only available in some setups). |
Important: intakeType must be either "payments" or "treasury", never both.
Key Concepts and Validations
| Concept | Details |
|---|---|
| Zoning Options | "Business", "Industrial", "Residential" |
| Location Choices | "Mall", "Office", "Shopping Area", "Mix", "Home", "Apartment", "Warehouse", "Isolated" |
| Square Feet Choices | "0 - 250", "251 - 500", "501 - 2000", "2001 +" |
| Payments - Billing Option | "Daily" or "Monthly" |
| Payments - Billing Model | "Flat Rate" or "Interchange Plus" |
| Monthly Plan | Must match intakeAccountType when intakeType = payments |
| Methods Types | Visa, MasterCard, Discover, AMEX, JCB, UnionPay, Debit, Interac — depending on solution enablement |
| Advanced Method Types | Apple Pay, Google Pay, Samsung Pay — depending on solution enablement. |
| Funds Transfers Types | EFT, ACH — depending on solution enablement. |
| Modules and Options | Vary by Payments and Treasury service types (details below). |
| Equipment | Only used if the merchant is a Card Present merchant. |
Modules and Options
| Field | For Payments | For Treasury |
|---|---|---|
| modulesTypes | "Gateway", "Virtual Terminal", "Checkout" | "Trade Desk" |
| optionsTypes | "Multi-Currency", "Subscription", "Account Updater", "Tokenization", "Level 2" | "Multi-Currency" |
Supported Currencies
- CAD
- USD
- EUR
The transaction currencies available for the account is dependent on solution enablement.
Create Account Intake Variations
| Variation | intakeType | intakeAccountType | Special Notes |
|---|---|---|---|
| 1 | payments | Card Present | Used for merchants processing in-person transactions via physical terminals. Equipment setup may be required. |
| 2 | payments | Card Not Present | Used for merchants processing online, phone, or mail transactions. No physical equipment involved. |
| 3 | treasury | Business or Personal | Treasury account created for fund management (for businesses or individuals). |
Rules Recap:
- Only one intakeType per request: "payments" or "treasury".
- If payments:
- intakeAccountType must be either "Card Present" or "Card Not Present".
- Monthly Plan must match intakeAccountType.
- Billing options (Daily or Monthly) and billing models (Flat Rate or Interchange Plus) must be properly selected.
- If treasury:
- intakeAccountType must be "Business" or "Personal".
- Pricing details for enabled transactions, debit card handling, and account transfers must be configured.
Common and Conditional Fields: Create Account Intake
| Field | Type | Required? | Comments |
|---|---|---|---|
| intakeType | String | Always | Must be "payments" or "treasury". |
| intakeAccountType | String | Always | Must match the intakeType selected. |
| disclosureStatementsTerms | Boolean or String (true) | Always | Merchant must agree to Terms and Conditions. |
| disclosureStatementsPolicy | Boolean or String (true) | Always | Merchant must agree to the Privacy Policy. |
| zoning | String | Required for payments | Only for payments; select from zoning options. |
| location | String | Required for payments | Only for payments; select from location options. |
| squareFeet | String | Required for payments | Only for payments; select from square footage options. |
| monthlyPlan | String | Required for payments | Must match intakeAccountType. |
| monthlyPrice | Number | Always | Base monthly fee for the service. |
| billingOption | String | Required for payments | Either "Daily" or "Monthly". |
| billingModel | String | Required for payments | Either "Flat Rate" or "Interchange Plus". Depending on solution enablement. |
| methods | Object | Required for payments | Defines credit card methods and rates. Depending on solution enablement. |
| advancedMethods | Object | Optional for payments | Advanced digital wallets if enabled. Depending on solution enablement. |
| fundsTransfers | Object | Optional for payments | Funds transfer setup if enabled. Depending on solution enablement. |
| modulesTypes | Array of Strings | Optional for payments or treasury | Module selections depend on service type. Depending on solution enablement. |
| optionsTypes | Array of Strings | Optional for payments or treasury | Options depend on service type. Depending on solution enablement. |
| transactionCurrencies | String or Array | Optional | Currencies accepted for transactions (e.g., "USD", "CAD", "EUR"). Depending on solution enablement. |
| pricingVolumeFee | Number | Required for treasury | Volume fee per transaction cycle. |
| pricingTrades | Number | Required for treasury | Fee for trading activities (if applicable). |
| pricingDormantAccount | Number | Required for treasury | Dormant account maintenance fee. |
| pricingDebitCardFee | Number | Required for treasury | Fee for issuing debit cards. |
| enableAccountTransfer | Boolean | Optional for treasury | If enabled, account transfer pricing required. |
| pricingAccountTransferDeposit | Number | Optional | Deposit fee for account transfer. Only if account transfer enabled. |
| pricingAccountTransferWithdrawal | Number | Optional | Withdrawal fee for account transfer. Only if account transfer enabled. |
| pricingAccountTransferLimit | Number or Null | Optional | Limit for account transfers. Only if account transfer enabled. |
| enableDomesticWire | Boolean | Optional for treasury | If enabled, domestic wire transfer pricing required. |
| pricingDomesticWireDeposit | Number | Optional | Deposit fee for domestic wire. Only if domestic wire enabled. |
| pricingDomesticWireWithdrawal | Number | Optional | Withdrawal fee for domestic wire. Only if domestic wire enabled. |
| pricingDomesticWireLimit | Number | Optional | Limit for domestic wire transfers. Only if domestic wire enabled. |
| enableInternationalWire | Boolean | Optional for treasury | If enabled, international wire fees required. |
| pricingInternationalWireDeposit | Number | Optional for treasury | Deposit fee for international wire. Only if international wire enabled. |
| pricingInternationalWireWithdrawal | Number | Optional for treasury | Withdrawal fee for international wire. Only if international wire enabled. |
| pricingInternationalWireLimit | Number | Optional for treasury | Withdrawal fee for international wire. Only if international wire enabled. |
| enableAch | Boolean | Optional for treasury | If enabled, ACH fees required. |
| pricingAchDeposit | Number | Optional for treasury | Deposit fee for ACH. Only if ACH enabled. |
| pricingAchWithdrawal | Number | Optional for treasury | Withdrawal fee for ACH. Only if ACH enabled. |
| pricingAchLimit | Number | Optional for treasury | Limit for ACH. Only if ACH enabled. |
| enableChecks | Boolean | Optional for treasury | If enabled, check processing fees required. |
| pricingChecksDeposit | Number | Optional for treasury | Deposit fee for checks. Only if checks enabled. |
| pricingChecksWithdrawal | Number | Optional for treasury | Withdrawal fee for checks. Only if checks enabled. |
| pricingChecksLimit | Number | Optional for treasury | Limit for checks. Only if checks enabled. |
| enableDebitCard | Boolean | Optional for treasury | If enabled, debit card withdrawal fees required. |
| pricingDebitCardsDeposit | Number | Optional for treasury | Deposit fee for debit cards. Only if debit cards enabled. |
| pricingDebitCardsWithdrawal | Number | Optional for treasury | Withdrawal fee for debit cards. Only if debit cards enabled. |
| pricingDebitCardsLimit | Number | Optional for treasury | Limit for debit cards. Only if debit cards enabled. |
| enableDigitalAssets | Boolean | Optional for treasury | If enabled, pricing fields for digital asset operations required. |
| pricingDigitalAssetsDeposit | Number | Optional for treasury | Deposit fee for digital assets. Only if digital assets enabled. |
| pricingDigitalAssetsWithdrawal | Number | Optional for treasury | Withdrawal fee for digital assets. Only if digital assets enabled. |
| pricingDigitalAssetsLimit | Number | Optional for treasury | Limit for digital assets. Only if digital assets enabled. |
Notes:
- Fields like methods, advancedMethods, and fundsTransfers are only relevant for payments intake.
- Treasury accounts primarily use pricing fields to set the cost structures for services like wires, ACH, transfers, and debit card operations.
- Available options (modules, payment methods, currencies) depend on what is enabled for the merchant’s Solution.
Field Descriptions for Object: methods (for Payments Intake)
This object defines the payment methods and fees applicable for merchants accepting card transactions.
| Field | Type | Description | Required? |
|---|---|---|---|
| methodTypes | Array of Strings | List of credit/debit card types accepted (e.g., Visa, MasterCard, AMEX). Options depend on what’s enabled in the Solution. | Required |
| tappedMdr | Number | Merchant Discount Rate (%) for tapped (contactless) transactions. | Required if Card Present |
| tappedTransactionFee | Number | Per transaction fee for tapped transactions. | Required if Card Present |
| tappedInternational | Number | International processing fee (%) for tapped transactions. | Optional |
| ecommerceMdr | Number | Merchant Discount Rate (%) for ecommerce (online) transactions. | Required if Card Not Present |
| ecommerceTransactionFee | Number | Per transaction fee for ecommerce transactions. | Required if Card Not Present |
| ecommerceInternational | Number | International processing fee (%) for ecommerce transactions. | Optional |
| b2bL2TransactionFee | Number | Fee for Level 2 B2B transactions (corporate cards). | Optional |
| b2bL3TransactionFee | Number | Fee for Level 3 B2B transactions (higher-level corporate data). | Optional |
| debitSwipedTransactionFee | Number | Per transaction fee for debit swiped transactions. | Required if Debit/Interac is supported |
| debitTappedT1 | Number | Discount rate for Tier 1 debit contactless transactions. | Required if Debit/Interac is supported |
| debitTappedT2 | Number | Discount rate for Tier 2 debit contactless transactions. | Required if Debit/Interac is supported |
| debitTappedT3 | Number | Discount rate for Tier 3 debit contactless transactions. | Required if Debit/Interac is supported |
Notes:
- Fields like tappedMdr and debitSwipedTransactionFee are only applicable for Card Present merchants.
- Fields like ecommerceMdr and ecommerceTransactionFee are only applicable for Card Not Present merchants.
- methodTypes selection depend on what’s enabled in the solution assigned to the merchant.
- International rates (tappedInternational, ecommerceInternational) are optional but recommended if merchants process cross-border transactions.
Field Descriptions for Object: advancedMethods (for Payments Intake)
This object defines the digital wallets and alternative payment methods accepted by the merchant, along with their associated pricing.
| Field | Type | Description | Required? |
|---|---|---|---|
| advancedMethodTypes | Array of Strings | List of digital wallet methods supported (e.g., "Apple Pay", "Google Pay", "Samsung Pay"). Depends on Solution enablement. | Optional |
| advancedMethodsMonthly | Number | Fixed monthly fee for supporting advanced payment methods. | Optional |
| advancedMethodsMdr | Number | Merchant Discount Rate (%) for transactions using advanced payment methods. | Optional |
| advancedMethodsTransactionFee | Number | Per transaction fee for advanced payment methods transactions. | Optional |
| advancedMethodsInternational | Number | Additional percentage fee for international advanced payment methods transactions. | Optional |
Notes:
- advancedMethodTypes should only list payment methods that the merchant is certified to use and that are enabled for the account.
- If no advancedMethodTypes are selected, the entire advancedMethods object can be omitted or left with empty arrays and zeroes.
- Rates (MDR, transactionFee, international) apply only when the selected advanced methods are actually used.
Field Descriptions for Object: fundsTransfers (for Payments Intake)
This object defines the merchant’s electronic fund transfer (EFT/ACH) setup, fees per transaction, monthly pricing, and penalty fees related to fund transfers.
| Field | Type | Description | Required? |
|---|---|---|---|
| fundsTransfersTypes | Array of Strings | Types of fund transfers supported ("EFT", "ACH"). Depends on Solution enablement. | Optional |
| fundsTransfersMonthly | Number | Monthly fee charged for enabling fund transfers. | Optional |
| fundsTransfersMdr | Number | Merchant Discount Rate (%) for fund transfers. | Optional |
| fundsTransfersTransactionFee | Number | Per-transaction fee for every fund transfer. | Optional |
| fundsTransfersBatchFee | Number | Fee for processing a batch of multiple fund transfers. | Optional |
| fundsTransfersRejectFee | Number | Fee charged when a fund transfer is rejected. | Optional |
| fundsTransfersReturnFee | Number | Fee charged when a fund transfer is returned. | Optional |
| fundsTransfersUnauthorizedFee | Number | Fee charged for unauthorized transactions (e.g., unauthorized returns, chargebacks). | Optional |
| fundsTransfersNonComplianceFee | Number | Fee charged for regulatory or operational non-compliance events related to fund transfers. | Optional |
Notes:
- If fund transfer services are not enabled for the merchant, this entire object can be omitted or all values set to defaults (0 or empty).
- fundsTransfersTypes must match the available methods in the Solution and be enabled in the account (EFT and/or ACH).
- Penalty fees (reject, return, unauthorized, non-compliance) are applied per occurrence.
Field Descriptions: modulesTypes (Payments)
This field defines the software modules that a Payments merchant will have access to on the platform.
| Field | Type | Description | Required? |
|---|---|---|---|
| modulesTypes | Array of Strings | List of modules enabled for the merchant. Options include: "Gateway", "Virtual Terminal", "Checkout". Depends on Solution settings. | Optional |
Details:
| Module | Description |
|---|---|
| "Gateway" | Allows the merchant to process transactions via an API integration. |
| "Virtual Terminal" | Allows manual keying of card transactions through our secure online portal. |
| "Checkout" | Provides hosted checkout pages for online purchases. |
Notes:
- Merchants may select multiple modules.
- Available modules must be enabled in the merchant’s account.
- If no modules are selected, modulesTypes can be omitted.
Field Descriptions: optionsTypes (for Payments Intake)
This field defines the additional service options that a Payments merchant can enable to enhance their processing capabilities.
| Field | Type | Description | Required? |
|---|---|---|---|
| optionsTypes | Array of Strings | List of additional service options selected. Options include: "Multi-Currency", "Subscription", "Account Updater", "Tokenization", "Level 2". Depends on Solution settings. | Optional |
Details:
| Option | Description |
|---|---|
| "Multi-Currency" | Enables merchants to accept transactions in multiple currencies (e.g., CAD, USD, EUR). |
| "Subscription" | Allows merchants to process recurring billing and subscription payments. |
| "Account Updater" | Automatically updates saved card information when cards expire or are replaced. |
| "Tokenization" | Secures cardholder data by replacing it with encrypted tokens. |
| "Level 2" | Enables collection of enhanced data fields for B2B transactions, offering lower interchange rates. |
Notes:
- Merchants can select multiple service options if the solution allows it.
- Availability of options depends on what is available in the Solution and enabled in the merchant’s account.
- If no additional services are selected, optionsTypes can be omitted.
Per-Transaction Fields for Payments (from methods object)
These fields define the per transaction fees and discount rates merchants will pay for various types of card-present and card-not-present transactions.
| Field | Type | Description | Required? |
|---|---|---|---|
| tappedMdr | Number | Merchant Discount Rate (%) for tapped (contactless) card transactions (Visa, MasterCard, etc.). | Required if Card Present |
| tappedTransactionFee | Number | Flat per-transaction fee (in currency) for tapped transactions. | Required if Card Present |
| tappedInternational | Number | Additional Merchant Discount Rate (%) for international tapped transactions. | Optional |
| ecommerceMdr | Number | Merchant Discount Rate (%) for ecommerce (Card Not Present) transactions. | Required if Card Not Present |
| ecommerceTransactionFee | Number | Flat per-transaction fee for ecommerce transactions. | Required if Card Not Present |
| ecommerceInternational | Number | Additional Merchant Discount Rate (%) for international ecommerce transactions. | Optional |
| b2bL2TransactionFee | Number | Per transaction fee when using Level 2 enhanced B2B data. | Optional |
| b2bL3TransactionFee | Number | Per transaction fee when using Level 3 enhanced B2B data. | Optional |
| debitSwipedTransactionFee | Number | Flat per-transaction fee for swiped debit transactions. | Required if Debit/Interac supported |
| debitTappedT1 | Number | Merchant Discount Rate for Tier 1 debit tap transactions. | Required if Debit/Interac supported |
| debitTappedT2 | Number | Merchant Discount Rate for Tier 2 debit tap transactions. | Required if Debit/Interac supported |
| debitTappedT3 | Number | Merchant Discount Rate for Tier 3 debit tap transactions. | Required if Debit/Interac supported |
Notes:
- If merchant only processes Ecommerce (Card Not Present) transactions, only ecommerceMdr and related fields are required.
- If merchant only processes Card Present transactions, tappedMdr, tappedTransactionFee, and debit swipe/tap fees and related fields are required.
- B2B Level 2 fees are optional but recommended for merchants processing commercial cards.
- International rates apply only if the merchant expects cross-border transactions.
Treasury-Specific Field Descriptions (Pricing Section)
These fields define the monthly pricing, transaction fees, and service fees for merchants or individuals opening a Treasury account.
| Field | Type | Description | Required? |
|---|---|---|---|
| monthlyPrice | Number | Base monthly fee charged for maintaining the treasury account. | Required |
| pricingVolumeFee | Number | Fee (%) based on total transaction volume. | Required |
| pricingTrades | Number | Flat fee charged for each trading activity (if Trade Desk module is enabled). | Required |
| pricingDormantAccount | Number | Fee charged for maintaining an inactive (dormant) account. | Required |
| pricingDebitCardFee | Number | Fee charged for issuing a debit card to the account holder. | Required |
| enableAccountTransfer | Boolean | Whether account-to-account transfers are enabled. | Optional |
| pricingAccountTransferDeposit | Number | Fee for each account transfer deposit. | Required if enableAccountTransfer is true |
| pricingAccountTransferWithdrawal | Number | Fee for each account transfer withdrawal. | Required if enableAccountTransfer is true |
| pricingAccountTransferLimit | Number or Null | Maximum allowed transfer limit per period (null if unlimited). | Optional |
| enableDomesticWire | Boolean | Whether domestic wire transfer is enabled. | Optional |
| pricingDomesticWireDeposit | Number | Fee for receiving domestic wires. | Required if enableDomesticWire is true |
| pricingDomesticWireWithdrawal | Number | Fee for sending domestic wires. | Required if enableDomesticWire is true |
| pricingDomesticWireLimit | Number | Maximum domestic wire transfer limit. | Optional |
| enableInternationalWire | Boolean | Whether international wire transfers are enabled. | Optional |
| pricingInternationalWireDeposit | Number | Fee for receiving international wires. | Required if enableInternationalWire is true |
| pricingInternationalWireWithdrawal | Number | Fee for sending international wires. | Required if enableInternationalWire is true |
| pricingInternationalWireLimit | Number | Maximum international wire transfer limit. | Optional |
| enableAch | Boolean | Whether ACH is enabled. | Optional |
| pricingAchDeposit | Number | Fee for ACH deposit transactions. | Required if enableAch is true |
| pricingAchWithdrawal | Number | Fee for ACH withdrawal transactions. | Required if enableAch is true |
| pricingAchLimit | Number | ACH transfer limit. | Optional |
| enableChecks | Boolean | Whether check deposits/withdrawals are enabled. | Optional |
| pricingChecksDeposit | Number | Fee for depositing checks. | Required if enableChecks is true |
| pricingChecksWithdrawal | Number | Fee for withdrawing via checks. | Required if enableChecks is true |
| pricingChecksLimit | Number | Check transaction limit. | Optional |
| enableDebitCard | Boolean | Whether issuing and managing debit cards is enabled. | Optional |
| pricingDebitCardsDeposit | Number | Fee for deposits into the debit card. | Optional |
| pricingDebitCardsWithdrawal | Number | Fee for withdrawing from the debit card. | Optional |
| pricingDebitCardLimit | Number | Maximum debit card transaction limit. | Optional |
| enableDigitalAssets | Boolean | Whether digital asset services are enabled. | Optional |
| pricingDigitalAssetsDeposit | Number | Fee for digital asset deposits. | Optional |
| pricingDigitalAssetsWithdrawal | Number | Fee for digital asset withdrawals. | Optional |
| pricingDigitalAssetsLimit | Number | Digital asset transaction limit. | Optional |
Notes:
- Fields are conditional based on the enablement flags (enableAccountTransfer, enableDomesticWire, etc.).
- If a service (like ACH or Wire) is not enabled, the corresponding pricing fields are either omitted or set to 0.
- Some fields can accept a value of null if the service has no limit (e.g., account transfer limit, etc.).
Field Descriptions: modulesTypes (for Treasury Intake)
| Field | Type | Description | Required? |
|---|---|---|---|
| modulesTypes | Array of Strings | List of optional treasury modules enabled for the account. Only "Trade Desk" is available. Depends on solution enablement. | Optional |
Details:
| Module | Description |
|---|---|
| "Trade Desk" | Module allowing access to trading functionalities within the treasury account. Depends on solution enablement. |
Notes:
- Currently, "Trade Desk" is the only available treasury module.
- If no modules are required, modulesTypes can be left empty or omitted.
- Monthly pricing for modules (such as modulesMonthlyTradeDesk) must be provided if selected.
Field Descriptions: optionsTypes (for Treasury Intake)
| Field | Type | Description | Required? |
|---|---|---|---|
| optionsTypes | Array of Strings | List of optional treasury services selected. Only "Multi-Currency" is available. Depends on solution enablement. | Optional |
Details:
| Option | Description |
|---|---|
| "Multi-Currency" | Enables the treasury account to hold and operate with multiple currencies (CAD, USD, EUR). |
Notes:
- "Multi-Currency" allows better management of international transactions.
- If no treasury options are needed, optionsTypes can be omitted or left empty.
- If "Multi-Currency" is selected, a monthly fee (optionsMonthlyMultiCurrency) must be specified.
Uploading Documents
Documentation can also be uploaded to request additional underwriting to be performed for a merchant, to provide updated business information, or to respond to risk review inquiries.
This method allows the uploading of merchant supporting documentation. Required documents may differ based on different criteria such as, region or country, line of business, method of acceptance, etc.
Overview
Method and Endpoint
- Method: POST
- Endpoint:
/v1/merchants/profile-document
Request Body Schema: Upload Documents
Method and Endpoint
- Method: POST
- Endpoint:
/v1/merchants/profile-document
| Field | Type | Description | Required? |
|---|---|---|---|
| contactType | String | Identifies the target for the document: "personalContact", "business", or "businessContact". | Required |
| contactUuid | String (UUID) | Unique identifier for the contact or business. | Required |
| type | String | Document type being uploaded (e.g., Passport, Utility Bill, Agreement, etc.). Must match the allowed list for the selected contactType. | Required |
| file | File (multipart/form-data) | Actual file to be uploaded. Must match allowed file types and identity rules. | Required |
Acceptable File Types
| Allowed Extensions | Notes |
|---|---|
| jpg, jpeg, gif, tif, tiff, png | Always allowed. |
| pdf, doc, docx | Allowed only for non-identity documents (business documents, financials, contracts, etc.). |
| Identity Documents Restriction | Identity documents (passports, driver’s licenses, government IDs) must only be uploaded in image formats (.jpg, .jpeg, .png, .tiff, etc.). PDFs or DOC files are not allowed for identity uploads. |
Notes:
- Each uploaded file must be linked to a specific UUID (business, or business contact or personal contact).
- If uploading identity documents (passport, driver’s license, government ID), only image file types are permitted — no PDF, DOC, or DOCX allowed.
- Uploaded documents must correspond to the correct allowed document type list depending on the contactType.
Acceptable document types for Business:
- Agreement
- Articles of Incorporation/Formation
- Bank Statement
- Certificate of Incorporation
- Utility Bill
- Signed Agreement
- Tax/EIN Document
- Void Check/Bank Letter
- Certificate of Good Standing
- Complete Business Summary
- Copy of License(s)
- Corporate Structure Diagram
- DBA Document
- Financial Statements
- Marketing Materials
- Operating Agreement/Bylaws
- PCI DSS Certificate or Adherence
- Processing Statements
- Sample PAD Authorization
- URL List
- Business Plan and Projections
- Complete Business Summary
- Other
Acceptable document types for Business Contact and Personal Contact:
- Drivers License
- Other Government ID
- Passport
- Personal Guarantee
- Utility Bill
- Other
Email Verification
If email verification is false when the merchant profile is created, then it will need to be completed during boarding. When the request is sent, the response will include a link that can be used by your merchant to complete the email verification. If an email address is included in the request, an automated email will be sent which includes the email verification link.
Overview
The Email Verification API allows you to generate a verification link for a merchant whose email address was not verified during initial profile creation.
Method and Endpoint
- Method: POST
- Endpoint:
/v1/merchants/email-verification/{ProfileUuid}
When this request is made:
- A verification link is returned in the response.
- Optionally, an email is automatically sent to the merchant with the link if sendEmail: true.
This step must be completed during onboarding if emailVerified was originally set to false when the merchant profile was created.
Request Body Schema
| Field | Type | Description | Required? |
|---|---|---|---|
| sendEmail | Boolean | Determines if an automatic verification email is sent to the merchant. - If true, an email is sent containing the verification link. - If false, only the link is returned in the API response. |
Required |
Response Behavior
| Field | Type | Description |
|---|---|---|
| verificationLink | String (URL) | Link to verify the merchant's email address. Must be accessed by the merchant. |
You can either retrieve the link yourself or automatically email it to the merchant.
Notes:
- This API must be used only if emailVerified = false at profile creation.
- The link should be shared securely with the merchant if handled manually.
- The verification must be completed before allowing full activation of the merchant account.
List Profiles
These requests allow users to retrieve information about either:
- All merchant profiles under their program, or
- A specific merchant profile by its unique UUID.
Rules:
- If no UUID is provided, the API will return a list of all merchant profiles.
- If a UUID is provided, only the specific merchant profile information will be returned.
- Useful for administration, reporting, and onboarding tracking.
Methods and Endpoints
List All Merchant Profiles
- Method: GET
- Endpoint:
/v1/merchants/
Get Specific Merchant Profile
- Method: GET
- Endpoint:
/v1/merchants/{ProfileUuid}
Path Parameter
| Path Parameter (for Get Merchant Profile) | Type | Description |
|---|---|---|
| profileUuid | String (UUID) | Unique identifier of the merchant profile to retrieve. |
Notes:
- When retrieving all profiles, the body will contain a list (array) of merchant profile objects.
- When retrieving one profile, the body will contain one merchant profile object.
Update Merchant Profile
This request allows you to modify information about an existing merchant profile (either Business or Personal type). Certain update actions can only be taken when the profile status is New. Once the status has been updated, certain information can only be updated by an administrative officer.
Rules:
- Update actions can only be performed when the profile's status is New.
- Once the status is updated (e.g., to Active), certain fields can only be changed by an administrative officer.
- Fields follow the same structure as the Create Merchant Profile request.
- Only fields that need updating should be included in the request.
- Solution, Profile Type, Company Email, and Personal Contact Email cannot be updated via API.
- Changes to those fields require contacting Support or a Relationship Manager.
- After submitting the update, the user will receive a webhook notification once the update is complete.
- For more information about setting up webhooks, user can refer to the Introduction > Settings > Webhooks section in the guide.
Method and Endpoint
- Method: PATCH
- Endpoint:
/v1/merchants/{ProfileUuid}
Path Parameter
| Path Parameter (for Update Merchant Profile) | Type | Description |
|---|---|---|
| ProfileUuid | String (UUID) | Unique identifier of the merchant profile to update. |
Request Body Schema
Only include the fields you want to update.
| Field | Type | Description | Required? |
|---|---|---|---|
| business | Object | Updated business information (for Business profiles). | Optional |
| personalContact | Object | Updated personal information (for Personal profiles). | Optional |
| businessInfo | Object | Updated business operations information (industry, MCC, sales volumes, etc.). | Optional |
| treasuryQuestionnaire | Object | Updated treasury questionnaire information (if applicable). | Optional |
| questionnaire | Object | Updated card acceptance questionnaire information (if applicable). | Optional |
Notes:
- Profile must still be in "New" status to update the profile.
- If the status is Active, Pending, etc., then certain fields become locked.
- Solution, Profile Type, and both Emails cannot be changed via this endpoint — request Support assistance or contact your Relationship Manager for those.
- Only included fields in the PATCH request are updated; all others remain unchanged.
- Always monitor the webhook to confirm that the update has been processed.
Archive Merchant Profile
This request allows you to permanently archive a merchant profile that is still in "New" status.
Rules:
- Merchant profiles can only be archived if their status is "New".
- Once a profile is archived, it cannot be retrieved — use with caution.
Method and Endpoint
- Method: DELETE
- Endpoint:
/v1/merchants/{ProfileUuid}
Path Parameter
| Path Parameter | Type | Description |
|---|---|---|
| ProfileUuid | String (UUID) | Unique identifier of the merchant profile to archive. |
Notes:
- Profiles must have a status of "New" to be archived via API.
- Once archived, the profile cannot be retrieved or recovered.
- Always verify the correct profileUuid before submitting the archive request.
Delete Business Contact
This request allows you to remove a business contact from an existing Business Profile.
Rules:
- A Business Profile must always have at least one (1) active business contact.
- If deleting a business contact, you must ensure at least one contact remains active.
- If replacing a contact, it is recommended to add the new contact first, then delete the old contact afterward.
Method and Endpoint
- Method: DELETE
- Endpoint:
/v1/merchants/business-contact/{BusinessContactUuid}
Path Parameter
| Path Parameter | Type | Description |
|---|---|---|
| BusinessContactUuid | String (UUID) | Unique identifier of the business contact to delete. |
Notes:
- Always ensure at least one active business contact remains before deleting.
- Deleting the last remaining active contact will result in an error.
- If replacing, first add the new business contact before deleting the old one.
Accounts
Creating an account is a key part of activating a merchant profile and enabling access to products and services.
Account Intake
Before an account can be created, an Account Intake must be completed. The Account Intake process is the required first step and captures all necessary account details, pricing structures, and service settings.
➔ An account cannot be created without a completed intake.
Account Creation
Once a profile has been successfully approved and boarded, the associated account can then be created based on the submitted intake.
Types of Accounts
Currently, there are two types of accounts that can be created:
Payments Account
A Payments Account is used for all payments acceptance-related products and services.
This includes:
- E-Commerce transactions
- Terminal (card-present) transactions
- Bank debits
- And more
Treasury Account
A Treasury Account is used for all treasury-related products and services.
This includes:
- Wire transfers
- Card issuing (virtual and physical debit cards)
- Fund movement and treasury operations
Accounts are created individually based on the services selected during intake, allowing each profile to be tailored to the merchant’s operational needs.
List Payments Accounts
These requests allow you to retrieve information about:
- All payments accounts associated with your merchant profiles, or
- A specific payments account by UUID.
Rules:
- If no UUID is provided, all payments accounts are listed.
- If a UUID is provided, only the specific account’s information is returned.
- Useful for monitoring payment program status, configuration, and account activity.
Methods and Endpoints
List All Payments Accounts
- Method: GET
- Endpoint:
/v1/merchants/payments/
Get Specific Payments Account
- Method: GET
- Endpoint:
/v1/merchants/payments/{accountUuid}
Path Parameter
| Path Parameter (for Get Specific Payments Account) | Type | Description |
|---|---|---|
| AccountUuid | String (UUID) | Unique identifier of the payments account to retrieve. |
Notes:
- When retrieving all payment accounts, the body will contain a list (array) of account objects.
- When retrieving one payment account, the body will contain one account object.
List Treasury Accounts
These requests allows you to retrieve information about:
- All treasury accounts associated with your merchant profiles, or
- A specific treasury account by UUID.
Rules:
- If no UUID is provided, all treasury accounts are listed.
- If a UUID is provided, only the specific account’s information is returned.
- Useful for monitoring treasury program status, configuration, and account activity.
Methods and Endpoints
List All Treasury Accounts
- Method: GET
- Endpoint: v1/merchants/treasury/
Get Specific Treasury Account
- Method: GET
- Endpoint:
/v1/merchants/treasury/{accountUuid}
Path Parameter
| Path Parameter (for Get Specific Treasury Account) | Type | Description |
|---|---|---|
| AccountUuid | String (UUID) | Unique identifier of the treasury account to retrieve. |
Notes:
- When retrieving all treasury accounts, the body will contain a list (array) of account objects.
- When retrieving one treasury account, the body will contain one account object.