# Step by Step Guide

## 1. Create merchant account

A **business account** is a business that is ready to accept payments in multiple ways, typically mobile money, crypto, debit or credit cards. From the left side bar menu, choose business accounts and then tap the `Add business account` button in order to create business accounts. Part of the information included in the merchant account comprise:

<div><figure><img src="/files/bwpftMMLn52i71yxBGzG" alt=""><figcaption></figcaption></figure> <figure><img src="/files/fvpjV8V3aAKEPUqGY52W" alt=""><figcaption></figcaption></figure></div>

#### Name

A business name is your business's legal name. It is the official name of the person or entity that owns a company. And, it's the name you use on your government forms and business paperwork

#### RR

This is the rolling reserve percentage as specified by the acquirer

#### RR(Months)

The number of months the rolling reserve will take to expire

#### Card T+ (Days)

The settlement time of the funds&#x20;

## 2. Create MID/PSP

Mids are terminals that are used to route traffic. You will need to set up a mid before you can start transacting

<figure><img src="/files/mbr46IDLPApm1TMuzRJq" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/WlGXkywHlZYBTGs8RKgC" alt=""><figcaption></figcaption></figure>

**Mid Business Name**

This is the business name as registered at the acquirer. We recommend  postfixing the Mid name with the acquirer name for easier management but this is entirely optional. For example a mid name will be like **your-mid-name-acquirer-name**

**Service Type**

This defines the payment processor who is going to transact eg `vcs - for cybersource`, `mpgs - for mastercard`, etc

**Payment Method**

This is the means of transacting that is being used eg **CARD** [see](/appendix/payment-methods.md)&#x20;

**Currency**

The currency being used to transact see

**Allowed traffic**

The kind of traffic that is being used to traffic. This helps to keep afloat with the relevant MCC codes and is route traffic to appropriately.

**Merchant Operator**

The operator that is being used at the acquirers processor

**Merchant Username**

The username that is being used at the acquirers processor terminal

**Merchant Password**

The password to the processor terminal being used

**Processing Rank**

This determines the priority in which the mid should be selected. The algorithm for selection is based on round robin. 1 for is for highest ranking.

**Reject First Time Depositors**

This option is one of our fraud detection option in our algorithm. New cards are notorious for fraud. When this option is selected, only cards that have been issued after one year are used for transacting.

**Active**

Used to make the mid live for processing otherwise the mid wont be selected to be used in the pool as an option for processing

## 3. Generate API Tokens

**API Tokens** include a **key** that identifies the merchant responsible for the **API** service request. This **key** is not a **secret**, and must be included in each request. **API Token** includes a confidential **secret key** used for authentication, which is only known to the merchant and to the **API** service.&#x20;

<figure><img src="/files/kIjTpg7OsipHLtxljAGM" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
From the left sidebar, navigate to business accounts and create a business account or choose an existing one. After that select the business account you have created then navigate to the Api Keys tab to generate API token. Incase you have lost your secret, you can regenerate a new one
{% endhint %}

{% hint style="danger" %}
Every collection action requires only the **api\_key**. However all disbursements must include the **api\_secret**
{% endhint %}

Besides the API KEY and API SECRET. The API token includes the following;

#### **Notification Email**

This is the email that will receive any payment related notifications at the start and then the summaries at the end.

#### **Webhook URL**

This is used by kitegateway to send real time payment status updates.&#x20;

#### Webhook Hash

With just the webhook URL alone, any services on the internet can possibly send request to it so in order to protect against that, the hash comes into play. The hash helps to identify that the request actually came from **Kitegateway** thus providing an extra layer of security.

{% hint style="info" %}
You have to generate at least 16 character hash
{% endhint %}

**Email Merchant**

Specifies if the merchant should receive payment notifications

**Email User**

Specifies if the user making the payment request should receive payment notifications

## 4. Make a request

Once you have set up the crucial details above, you can now start making transactions to collect and disburse money in the form of mobile money, card and crypto.

{% hint style="success" %}
Horray! :)
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.kitegateway.com/integrations/step-by-step-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
