Create Vendor

The first thing you should do when integration the vendor onboarding process is implement the Create vendor call below. Vendors can be created with or without pre-populating additional onboarding fields.

Pre populating onboarding fields makes the onboarding process easier for your vendors. Send some of the onboarding fields while creating the vendor (using same API call).
In most cases, some of the information we require for the vendor onboarding is already collected by your platform.

Create vendor without pre-populating any onboarding fields

Make a POST /vendors request to create a new vendor, provide the information you have and the rest will be collected later on in the onboarding process:

curl --location --request POST 'https://sandbox.unipaas.com/platform/vendors' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <PLATFORM_SECRET_KEY>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "businessName": "Better Delivery",
    "type": "company",
    "firstName": "John",
    "lastName": "Doe",
    "email": "[email protected]",
    "country": "GB",
    "vendorReference" : "Qiuysdxv5shs", // The unique user id on your system
    "createOnboardingLink": true
    }'

In the response, you'll get the created vendor object, as shown in the example below

{
  "id": "61829cf9db1fb65b94f1acf8",
  "businessName": "Better Delivery",
  "email": "[email protected]",
  "createdAt": "2021-11-03T14:30:17.120Z",
  "updatedAt": "2021-11-03T14:30:17.120Z",
  "merchantId": "616d3e7faba71b9e13a2f7b7",
  "acceptPayments": false,
  "receivePayouts": false,
  "onboardingLink": "https://sandbox-hosted.unipaas.com/vendors/6162aff7d7eb80d6982c18bf/I45f0ooz7CkuOsPJ7s4v"
}

Create vendor and pre-populate onboarding fields

Make a POST /vendors request to create a new vendor, provide the information you have, and the rest will be collected later on in the onboarding process:

curl --location --request POST 'https://sandbox.unipaas.com/platform/vendors' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <PLATFORM_SECRET_KEY>' \
--data-raw '{
    "businessName": "Better Delivery",
    "type": "company",
    "firstName": "John",
    "lastName": "Doe",
    "email": "[email protected]",
    "country": "GB",
    "url": "http://example.com",
    "serviceDescription": "service description",
    "birthDate": "1980-01-01",
    "phone": "+447911123456",
    "category": "FOOD_DELIVERY",
    "createOnboardingLink": true
}'

📘

Onboarding type

The onboarding type defines if your vendor is an individual / sole trader (individual) or a registered company (company).

In the response, you'll get the created vendor object.

{
  "id": "61829cf9db1fb65b94f1acf8",
  "businessName": "Better Delivery",
  "email": "[email protected]",
  "createdAt": "2021-11-03T14:30:17.120Z",
  "updatedAt": "2021-11-03T14:30:17.120Z",
  "merchantId": "616d3e7faba71b9e13a2f7b7",
  "acceptPayments": false,
  "receivePayouts": false,
  "onboardingLink": "https://sandbox-hosted.unipaas.com/vendors/6162aff7d7eb80d6982c18bf/I45f0ooz7CkuOsPJ7s4v"
}

Note that the create vendor response includes an onboarding link that you can send your vendor. This will allow your vendor to complete all remaining onboarding fields in a UNIPaaS hosted UI.

Pre populated onboarding fields

The following fields describe the onboarding data that can be, and should to be, pre filled upon vendor creation using a POST /vendors/{vendorId}/onboarding API call after a vendor has been created.
Please mind that we strongly recommend you provide as much data as possible. It will save your vendor time and effort, and will increase conversion rates for the payment onboarding process.

📘

Read Only fields

Some fields are 'read only': the vendor won't be able to see/edit them.

Individual onboarding fields

Field NameIs RequiredTypeDescriptionRead Only
businessNameOptionalStringRepresents the name of the business (if applicable) for both individuals and companies.

This field will also define how your business is identified in your customer's credit card statements.
Yes
firstNameRequiredStringFor Individual onboarding this field represents the individual's first name.

For Company onboarding
This field represents the company representative first name
No
lastNameRequiredStringFor Individual onboarding this field represents the individual's last name.

For Company onboarding
This field represents the company representative last name
No
birthDateRecommendedStringFor Individual onboarding this field represents the individual's date of birth.

For Company onboarding
This field represents the company representative date of birth
Yes
phoneRecommendedStringFor Individual onboarding this field represents the individual's phone number

For Company onboarding
This field represents the company representative phone number
Yes
emailRequiredStringFor Individual onboarding this field represents the individual's email address

For Company onboarding
This field represents the company email address
Yes
countryRequiredString
ISO 3166-1 alpha-2 code
For Individual onboarding this field represents the individual's country

For Company onboarding
This field represents the company corporate country
Yes
typeRecommended
(for UI)

Required
(for API)
EnumThe two available types are:
Company
Individual

Each will present a different onboarding flow to your vendors
Yes
urlRecommendedStringIndividual onboarding
Profile URL (website, blog, social network profile)

Company onboarding
Official Website URL
No
serviceDescriptionRecommendedStringIndividual onboarding
Description of the provided service
Yes
categoryRecommendedEnumIndividual and Company onboarding

MCC Enum

List of all
MCC codes
Yes
createOnboardingLinkRecommendedbooleanIndividual and Company onboarding

True - you will receive an onboarding link in the API response

False - you will NOT receive an onboarding link in the API response
Yes

🚧

Vendor invitation flows

In case your vendor creation flows include an invitation flow (e.g an vendor is being invited by an accountant) you should implement the referer flow before moving forward to the next step.


Go Next

Now you can choose your integration type: