# Create Merchant

Create a legal individual or business entity (Merchant) to operate under Velafi's compliance framework.

* Submit your detailed merchant information to initiate the KYC/KYB compliance verification process.
* Upon successful verification, the platform will assign a unique Merchant ID (MID) to you or your client.

Upon a successful API request, the response will include a unique URL that redirects the user to a secure KYC/KYB verification page. You may choose to:

* Redirect users directly to the provided URL to complete their verification process, or
* Embed the verification flow within your front-end application using an `<iframe>`, offering a seamless user experience.

Please ensure that the URL is used promptly, as it may be subject to expiration or session constraints depending on the configuration.

#### Endpoint Information

* **Request Header**: `X-BH-TOKEN: ******`
* **Request Header**: `Content-Type: application/json`
* **Request Method**: `POST`
* **Request Path**: `/v2/merchants`
* **Authorization Required**: Yes

#### Request Parameters

The request body should include the following fields:

**For New Merchant**

```json
{     
    "merchantName": "Tom", //(required, string: Merchant Name (Unique))
    "email": "tom@gmail.com", //(required, string: Email (Unique))
    "merchantType": "INDIVIDUAL", //(required, string: Merchant Type [INDIVIDUAL, BUSINESS])
    "callbackUrl": "https://localhost", //(required, string: URL for KYC/KYB completion callback)
    "languageCode": "en", //(optional, string: Interface language (en(default)/es/pt/zh))
    "flow": "PROFESSIONALS", //(optional, string: The KYC process is applicable only to INDIVIDUAL. enum [PROFESSIONALS(default), CONSUMERS])
    "remark": "test" //(optional, string: Remark)
}
```

**For Unverified Merchant**

```json
{
    "merchantId": 15126673, //(required, number: id of the merchant)
    "callbackUrl": "https://localhost", //(required, string: URL for KYC/KYB completion callback)
    "languageCode": "en" //(optional, string: Interface language (en(default)/es/pt/zh))
}
```

#### Response Structure

The response will include the following fields:

```json
{
    "code": 200,
    "msg": "SUCCESS",
    "data": {
        "merchantId": 15126673, //(number: id of the merchant)
        "kycLink": "https://www.velafi.com/verify?velafi_token=abc123" //(string: Link for conducting KYC/KYB verification)
    }
}
```

#### Example Requests

**Example Request (New Merchant)**

```json
{     
    "merchantName": "Tom", 
    "email": "tom@gmail.com", 
    "merchantType": "BUSINESS", 
    "callbackUrl": "https://localhost", 
    "languageCode": "en", 
    "remark": "add tom merchant"
}
```

**Example Request (Unverified Merchant)**

```json
{
    "merchantId": 15126673, 
    "callbackUrl": "https://localhost", 
    "languageCode": "en"
}
```

#### Example Response

```json
{
    "code": 200,
    "msg": "SUCCESS",
    "data": {
        "merchantId": 15126673,
        "kycLink": "https://www.velafi.com/business/token=_act-sbx-jwt-eyJhbGciOiJub25lIn0.eyJqdGkiOiJfYWN0LXNieC0xNGY3YWE4MS1kMTRjLTRmN2ItYTZmYy0xMzA4NWJiN2Y4MWUtdjIiLCJ1cmwiOiJodHRwczovL2FwaS5zdW1zdWIuY29tIn0.-v2&merchant_type=PERSONAL&callback_url=https%3A%2F%2F"
    }
}
```
