Merchant Accounts

Merchant Accounts are the payment processing accounts owned by your customers. Each organization may have several merchant accounts. Merchant accounts are not shared between applications; an organization must create at least one merchant account for each application that uses NeonPay.

Verification Process

Once an organization attempts to create a merchant application, NeonPay and its partners will verify the information submitted. Initial stages of verification are handled automatically. In most cases, merchant accounts are verified and approved within minutes. In other cases, an application may require manual review by our underwriting team. In rare instances, we may require additional information from a customer to complete the process.


When a merchant account is created, it will transition through stages. It will have one of the following statuses:

Status Description
not_ready This merchant requires more information to be sent to our processor for verification. Support will reach out to you for what additional information is required. (This status is uncommon).
ready This merchant has been submitted to the processor for verification.
boarded This merchant has been verified by our processor and is ready for charges and payouts.
manual This merchant has been selected for manual review, more data checks are needed before your merchant can be boarded. You may be asked for more information by the processor to complete verification.
denied This merchant has been rejected by the processor for onboarding.

Required Information

We require certain information in order to verify the identity of an organization. The following table describes the necessary data an organization must provide to NeonPay:

Business Information
Legal Business Name
Statement Descriptor Should include a customer service phone number, if possible.
Type (Business Structure) Nonprofit organization, government, LLC, etc.
Public Company (If Applicable) Public or private entity
Tax ID Number 9-digit EIN Number
Business Address Including Street Address Lines 1 and 2, City, State, Country, and Postal Code
Business Email
Business Phone Number
Owner Information
Owner Name Even though nonprofit organizations in the US do not have sole ownership, we still require information from a primary contact for the organization.
Owner's Drivers License Number and Issuing State
Owner's Title
Owner's Date of Birth
Owner's Social Security Number
Owner's Address Including Street Address Lines 1 and 2, City, State, Country, and Postal Code
Owner's Email
Owner's Phone Number
Banking Information
Bank Account Type Checking or savings
Bank Account Number Banking information is collected for the purpose of distributing funds to the organization.
Bank Account Routing Number

Creating Merchants

There are two paths to creating a new Merchant account.

  • Send your users to NeonPay's merchant registration form.
  • Present users with a merchant onboarding form within your application.

Send Users to Merchant Portal

This approach makes sense for applications taking a phased approach to integration with NeonPay, smaller applications with lesser payment processing components, or else applications where a slightly more complicated onboarding flow is not a problem.

  1. Direct the user to the merchant portal page. This is as simple as providing a hyperlink to the Signup page (
  2. The user registers for NeonPay and/or logs in to their existing NeonPay account
  3. User follows the prompts to fill out the merchant application
  4. Your application should listen for the merchant.created and merchant.updated webhooks. When you receive these notifications, your application should associate their NeonPay merchant ID with their user account.

You can include URL parameters in your link to NeonPay's registration form to track users. Once a user registers, NeonPay can send the organization.referred webhook, which can notify your application of the registration and hand back details about this NeonPay user.

The following parameters can be included in the /register URL:{your client ID}&referrer_id={your referrer ID}&state={your nonce}
Parameters Description
client_id A global customer ID. If an organization has already been created in NeonPay with a client_id that matches the one you provide, an error will be thrown by NeonPay. The value you provide will be included in the organization.referred webhook.
referrer_id The NeonPay Application ID of the app that referred the user. Your NeonPay Application ID will be provided to you by the NeonPay team. The value you provide will be included in the organization.referred webhook.
state An arbitrary string you provide. Recommended use is to assign a nonce-type value here to track which user within your own system was referred. The value you provide will be included in the organization.referred webhook.

Board Merchants from Within Your Application

This approach makes sense for applications where you want to quickly onboard a user without a high-touch sales process.

  1. Create a merchant application form within your application (this is a long form that asks for a lot of information).
  2. Submit the merchant data via NeonPay's Merchant API.
  3. Store the Merchant ID included in the API's response.
  4. Listen for the merchant.updated webhook, which should update when the merchant account has been successfully boarded.