| Environment | Base URL |
|---|---|
| Sandbox | https://boarding-api.paymentshub.dev |
| Production | https://boarding-api.paymentshub.com |
| Sandbox Authentication | https://api-auth.paymentshub.dev |
| Production Authentication | https://api-auth.paymentshub.com |
API Flow
- An ISO or ISV presents their own merchant application in their web portal to collect some or all merchant information.
- A new application is created and the ISO or ISV relays that to our systems via the Merchant Boarding API.
- The ISO or ISV then triggers the application to be completed and signed by the merchant. This will send an email link to the merchant.
- Once the application is completed and validated, the ISO or ISV triggers the application to be submitted to our Underwriting systems. After an application has been submitted to Underwriting, it cannot be modified.
- The ISO or ISV can poll to check Underwriting status. Once approved, a Merchant ID (MID) will be provisioned which can be used for payment processing.
How To Start
- Sign up for a free North Developer account.
- Contact us to set up an Agent ID and get test credentials. Once test credentials are provisioned, they can be referenced when logged in by selecting "Dashboard" in the top navigation menu, then Credentials. The test credentials consist of a Client ID and Client Secret. The Client ID will be associated with your Agent ID, and using it will provide access to all merchant applications associated with your ID.
- Use the API specification or the Postman Collection to build your app against the test environment. When logged in, you can use the Integration Tracker to view the status of your integration, notes from meetings with Integration Engineers, resources related to your solution, and more by clicking the User profile icon in the top right corner of the screen and selecting Integrations.
- When development is complete, contact us and once we ensure things are working properly, you will receive Production credentials that will be associated with your Agent ID. Your Production credentials will provide access to all merchant applications associated with your Agent ID.
Managing Application Templates
Before initiating a new merchant application, you must identify which application template will govern the deal. The template defines the specific Equipment and Pricing options applied to the merchant application.
How to Select or Create a Template
Option 1: Use Standard System Templates
If your business model does not require specialized pricing or unique equipment bundles, you can use our pre-configured system templates. You can locate system template IDs through:
- Partner Portal: Log in to Partner Portal (Sandbox / Production) and navigate to the Templates section to view a list of global template IDs.
- API: Call the Get Application Plan Details by Agent endpoint to programmatically retrieve available system plans.
Option 2: Create Custom Templates
For partners offering tailored pricing and equipment packages, you must create unique templates within the Partner Portal.
- Log in to Partner Portal (Sandbox / Production).
- Navigate to Enrollment > Templates.
- Select Start New Template.
- Provide a clear, descriptive name for your template.
- Configure all necessary Equipment and Pricing fields to match your offering.
- On the Validation page, check for any sections marked "Not ready for use." Follow the prompts at the top of those pages to resolve missing requirements.
- Click Close at the bottom right of the Validation page to save your template and generate the template ID, which you will use as the
planIdin the API.
Implementing a planId in Your API Call
When using the API to board a new merchant, you will use two primary identifiers:
planId: Pass your chosen Template ID here to apply the correct business rules.externalKey: You must generate a unique alphanumeric value for every new application. This key serves as your unique reference for that specific application, allowing you to update, track, or submit it at a later time.
Note: Always reference the externalKey when making follow-up calls (such as updates or status checks) to ensure you are targeting the correct merchant record.
How To Test
Contact us for test credentials that can be used to try out the payment API in a test environment. Once test credentials are provisioned, they can be referenced when logged in by selecting "Dashboard" in the top navigation menu, then Credentials. The test credentials consist of a Client ID and Client Secret. The Client ID is associated with an Agent ID, and using it will provide access to all merchant applications under the associated agent.
How To Authenticate
Authentication is required every time an API request is made. Authentication is granted through the use of a token. A token is granted when a user calls the Authentication endpoint and submits a matching Client ID and Client Secret pair. A Client ID and Client Secret are provided when a user initially requests access to the API.
All requests must include the custom n-partner-identity-origin header that will be provisioned with your API credentials.
When calling any endpoint, first call the auth endpoint to obtain a bearer token which is valid for 5 minutes, and use that token in subsequent API calls within the timeframe. The header content should look like the following:
Authorization: Bearer Token
Each token is a signed JWT that expires 5 minutes after its creation. Each time a token is submitted with a call, it is verified to be valid and not expired. If the token expires, the user must retrieve a new token by calling the authentication endpoint and submitting a matching Client ID and Client Secret again. The same token can be used for all endpoints, until it expires. The Client ID is associated with an Agent ID and that API key will be able to access all merchant applications under that agent.
Pricing Field Conditions
This section includes the mapping conditions required to update specific pricing field values. Before updating one of the pricing field values below, please verify that the conditions are met for the update to be successful. If you attempt to update a value but the pricing field conditions are not met, that value will be ignored and the value specified in the application template will be used instead. This will not throw an error. Therefore, when updating pricing using the Update Application Pricing endpoint, interrogate the response object to ensure that your request was valid and applied as expected. This response should be used as the source of truth to confirm that the requested changes were made successfully.There are two ways to change pricing values:
- By updating the values within a template (in the Agent Portal)
- By submitting updated values via the Update Application Pricing endpoint
| Field | Condition |
|---|---|
| Cash Discount Amount edgeFlatFee | Able to update when the Cash Discount program is enabled. The Cash Discount program is enabled when at least one equipment item with type "terminal" has the "isCashDiscountProgramEnabled" flag set to true (in the given template) |
| Cash Discount Rate edgePercentFee | Able to update when the Cash Discount program is enabled. The Cash Discount program is enabled when at least one equipment item with type "terminal" has the "isCashDiscountProgramEnabled" flag set to true (in the given template) |
| Interchange Transaction Passthrough Checkcard Fee interchangeTransactionPassthroughCheckcardFee | Able to update when: - Flat Rate pricing model is NOT used AND - "enableInterchangeTransactionPassthroughFee" flag is set to true (in the Update Application Pricing request) |
| Interchange Transaction Passthrough Credit Fee interchangeTransactionPassthroughCreditFee | Able to update when: - Flat Rate pricing model is NOT used AND - "enableInterchangeTransactionPassthroughFee" flag is set to true (in the Update Application Pricing request) |
| Qualified Discount Rate qualifiedRate | Able to update when Tiered and Flat Rate pricing model is used |
| AmEx Qualified Discount Rate amexQualifiedRate | Able to update when Tiered and Flat Rate pricing model is used |
| Mid Qualified Discount Rate midQualifiedBump | Able to update when: - Tiered and Flat Rate pricing model is used AND - Surcharge table is either N or null |
| Non Qualified Discount Rate nonQualifiedBump | Able to update when: - Tiered and Flat Rate pricing model is used AND - Surcharge table is either N or null |
| Non Qualified Transaction Fee nonQualifiedTransactionFeeBump | Able to update when: - Tiered and Flat Rate pricing model is used AND - Surcharge table is either N or null |
| Interchange Dues Assessments Basis Points interchangeDuesAssessmentsBasisPoint | Able to update when Interchange Plus pricing model is used |
| AmEx Interchange Dues Assessments Basis Points amexInterchangeDuesAssessmentsBasisPoint | Able to update when Interchange Plus pricing model is used |
| Reward Rate rewardRate | Able to update when Tiered and Flat Rate pricing model is used |
| Qualified Checkcard Rate qualifiedCheckCardRate | Able to update when Tiered and Flat Rate pricing model is used |
| EBT Qualified Discount Rate ebtQualifiedRate | Able to update when Flat Rate pricing model is used |
| EBT Interchange Assessments Dues Basis Points ebtInterchangeDuesAssessmentsBasisPoint | Able to update when Interchange Plus pricing model is used |
| Debit Qualified Discount Rate debitQualifiedRate | Able to update when Flat Rate pricing model is used |
| Debit Interchange Dues Assessments Basis Points debitInterchangeDuesAssessmentsBasisPoint | Able to update when Interchange Plus pricing model is used |
Merchant Signature Requirements
Depending on your pre-approved partnership terms, you may fulfill signature requirements using one of the following two workflows:
-
Simplified Enrollment (Hosted Link): Use our hosted "Simplified Enrollment" link for the final merchant completion step. This allows the merchant to review terms and provide an e-signature directly within our secure environment.
-
External Signature Integration: If you prefer to have more control over the experience, you may integrate with one of the pre-approved electronic signature tools to send the application to the merchant yourself. Once executed, you must upload the signed document (via API or Partner Portal) prior to final submission to Underwriting.
- DocuSign
- RightSignature
- DropBox Sign
- PandaDocs
- AdobeSign
- Agreement Express
Additional Owner Requirements
When submitting an enrollment application, any individual with 25% or more ownership in the business is required to sign the application. For applications submitted via the Merchant Boarding API, this is completed by signing and attaching the Additional Owners Addendum PDF (available upon request).Custom Enrollment Integration Requirements
Partners using a Custom Enrollment integration are required to use our Two-Factor Authentication (2FA) endpoints and provide a digital merchant e-signature certification sheet with every submission that includes:
- How the documents were sent to the signer
- The name of the person who sent the documents to the signer
- The IP address of the device where the application is being e-signed
- The device ID being used during the e-signing process
- The date and time of signature
- Verification of completion