Onboard a Business

Prev Next

Let us onboard our first business. To do so we will utilize the onboarding API. It enables seamless integration of onboarding processes by capturing and transferring the necessary business information and documents, which are required to assess and approve new business.

Depending on the configuration, the creation of new business can be fully automated or semi-automated. This depends on the checks that need to be done to approve the business. The required fields can also change depending on your specific business case. These details will be cleared up during your onboarding.

Utilization of the API:

To onboard a new business account, you would need to create an application for this purpose. Once the application is approved a new merchant will be created automatically by the platform. Keep in mind that in the Paynetics platform the business that you enroll is referred to as merchant.

For example, let us create an application for “ACME Corp”. ACME Corp will be using payment accounts and cards. As usual the risk and compliance department have required all applications to go through a complex due diligence process.  

The operation you should use is “application_create”.Full specification of the API endpoint example request can be found at the following URL - Paynetics onboarding API

Example request

{
   "merchant": "",  //in the application request merchant field needs to be empty, apart for some particular cases
   "products": [
      {
         "type": "account-opening, card-issuing", // here we want to register a business that can open accounts and issue cards
         "enum": [
            "pos",
            "e-commerce",
            "qr",
            "account-opening",
            "card-issuing"
         ]
      }
   ],
   "due_diligence": "CDD", // We want to open the merchant with the full due diligence for customer onboarding, more details are described below in the document
   "company": {
      "trade_name": "ACME Corp",
      "legal_name": "ACME Corp",
      "uic": "123567",
      "incorporation_date": "2022-01-01",
      "website": "https://www.acmecorp.com",
      "phone": "+35900000000",
      "mobile_phone": "+35900000000",
      "country": "BG",
      "county": "Sofia Grad",
      "city": "Sofia",
      "zip": "1407",
      "address1": "James Bouchier 76A",
      "address2": "Floor 2",
      "contact_email": "john.doe@paynetics.digital",
      "correspondence_address": "James Bouchier 76A",
      "description_of_activity": "Acquiring, Issuing etc.",
      "address_of_shop": "James Bouchier 76A",
      "mcc": "5999", // We need the category under which the business will be operating
      "legal_form": "sole-trader",
      "legal_form_description": "The sutrcte of the company is ... ",
      "business_activity": "payment",
      "country_of_incorporation": "BG",
      "vat_registration": "12345678BG",
      "is_sie": false,
      "company_members": [
         {
            "first_name": "John",
            "last_name": "Doe",
            "mobile_phone": "+359000000000",
            "phone": "+359000000000",
            "legal_name": "ACME Corp",
            "uic": "123456",
            "country": "BG",
            "country_of_residence": "BG",
            "zip": "1407",
            "city": "Sofia",
            "address1": "James Bouchier 76A",
            "address2": "Floor 2",
            "county": "Sofia Grad",
            "ownership": true,
            "ownership_percentage": 10,
            "type": [
               {
                  "type": "ceo", // We specify the status of the person in the company  
               }
            ],
            "unique_identifier": "123456",
            "user": "",
            "legal_form": "sole-trader",
            "place_of_birth": "BG",
            "pep_declaration": true,
            "pep_related_declaration": false,
            "is_sip": false,
            "birthday": "1992-03-28",
            "nationality": "BG",
            "contact_email": "John Doe",
            "documents": [
               {
                  "file": " iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNksP3",
                  "file_type": "pdf",
                  "document_type": "passport"
               }
            ]
         }
      ],
      "documents": [
         {
            "file": " iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNksP3",
            "file_type": "pdf",
            "document_type": "othercorporate"
         }
      ]
   },
   ],
   "questionnaire": {
      "is_online": false,
      "has_offshore_clients": false,
      "make_business_with_san": false,
      "has_kyc_procedure": true,
      "has_kyc_procedure_description": true,
      "require_additional_licenses": false,
      "maintains_accounts_on_behalf_of_clients": false,
      "perform_transactions_on_behalf_of_clients": false,
      "is_off_shore": false,
      "purpose_of_usage": false,
      "source_of_funds": "dividends",
      "months_of_doing_business": 12,
      "projected_monthly_volume": 100000
   },
   "ip_address": "127.0.0.1",
   "fingerprint": " iVBORw0KGgoAAAANSUhEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNksP3"
}

We have now send the request for creating application for onboarding a business, Synchronously we will rewceive a response containing unique application token ID and unique token IDs for the Company and Company members. Those are important as you must use them to update and correct the data in the application or add more members if needed. When data is sent to update application, the unique token ID is sent in the request. Only fields with new data in them will be updated.

Example response:

{
   "code": 0,
   "data": {
      "token": "e3dcc1ee-26d4-40bb-ac24-c961a1c4f77c",
      "company": {
         "token": "16880d2c-6616-4e16-947a-f5e1726604d7",
         "company_members": [
            {
               "token": "7de3abb0-73e1-4d6a-bf72-1a2040685ff3",
               "first_name": "John",
               "last_name": "Doe"
            }
         ]
      }
   }
}

As you can see in the example response, we are obtaining unique token IDs for the application itself, unique tokens for the company and the company members. Via them after that updated to the application are done.

Notification webhooks for created business: Once all checks are done, Paynetics`s system will send a webhook to the URL that you have provided during your onboarding as a partner. The webhook will contain a payload with the result of the processed application and include the unique application and merchant tokens.

Example webhook payload:

{
   "action": "MERCHANT.CREATED",
   "payload": {
      "application": "1819684f-9a85-40fd-8857-13b42f88cbf9",// Unique token ID of the applciation
      "merchant": "8fa03672-5b7f-432b-97ce-f83988a62d4e" // Unique token ID of the created merchant

   }
}