---
description: This page will explain different concepts behind Furatpay.
---

# Overview

FuratPay is a comprehensive **billing system** and **payment facilitator**, designed to streamline the invoicing and payment process for organizations. At its core, FuratPay revolves around **invoices**, enabling businesses to efficiently manage customer billing while facilitating seamless payments.

FuratPay is built with **multitenancy** in mind, allowing each account to function as a distinct **organization** with its own set of resources and configurations.

## Organization

An **organization** represents an independent account within Furatpay. Each organization operates in isolation and manages its own billing resources, ensuring flexibility and security in handling financial transactions.

{% hint style="info" %}
Each organization will be linked with one superuser to manage it.
{% endhint %}

## Customer

A **customer** represents a client you have conducted business with. There are two types of customers in FuratPay:

* **Personal** – Individual clients
* **Business** – Corporate or organizational clients

This categorization is for organizational purposes only. Apart from storing different types of information, it does not affect API behavior.

## Invoice&#x20;

An **invoice** is a billing document issued to a customer, containing details of **billed items** and any **applicable discounts**. FuratPay enables you to generate invoices and share them via a **public, shareable link**, allowing customers to make payments using their **preferred payment method**. Additionally, each invoice comes with a **beautifully crafted PDF version**, ensuring a professional and polished presentation.

## Payment Service&#x20;

A **payment service** refers to any third-party payment provider integrated with FuratPay. Examples include **Fastpay, ZainCash, AsiaPay, PayTabs**, **FIB** and others.

FuratPay offers a user-friendly interface to easily configure these payment services. Once configured, they become available for use on **public sharable links** and **API endpoints**, allowing seamless payment processing for customers.

#### **Currently Supported Payment Methods**

* **First Iraqi Bank (FIB)**
* **FastPay**
* **ZainCash**
* **PayTabs**

Whenever FuratPay introduces a new integration, users must **enable it through the dashboard** for it to be available in **APIs** and the **public payment page**.

## Currency Rate

Currency conversion in FuratPay determines how invoice amounts are converted when processing payments through a **payment service**, which is typically in **IQD**.

As a user, you have the flexibility to **define a custom exchange rate**, ensuring accurate conversions between the invoice currency and the actual payment amount. This allows for better control over pricing and payment calculations.

## Webhook

FuratPay allows organizations to define **webhook endpoints** to receive real-time updates on events. An organization can configure multiple webhooks, enabling seamless integration with **existing systems** or **subscribing to important events** within FuratPay.

#### **Available Events**

* **INVOICE\_CREATED** – Triggered when a new invoice is created.
* **INVOICE\_UPDATED** – Triggered when an existing invoice is updated.
* **INVOICE\_PAID** – Triggered when an invoice is successfully paid.

By setting up webhooks, you can automate workflows and ensure your system stays up to date with billing activities.

## API Keys

API Keys in Furatpay provide secure access to the platform's APIs. Each **organization** can generate multiple API keys, which must be included in the **`x-api-key`** header when making requests to Furatpay's API.

{% hint style="warning" %}
Currently, **API keys do not have scoped permissions**, meaning they grant full access to all resources within the organization. However, for security purposes, you can **disable an API key** at any time in case of a compromise.
{% endhint %}
