# Create Payout

The Create Payout API endpoint is one of the feature within LeanX, allowing you to initiate secure and swift fund transfers. Streamline financial processes by programmatically generating payout transactions with ease and precision.

{% hint style="info" %} <mark style="color:blue;">It is important to ensure that there is enough balance in your prefund pool to cover the payout transfers. LeanX requires you to maintain a minimum balance of</mark> <mark style="color:blue;"></mark><mark style="color:blue;">**RM 2.00**</mark><mark style="color:blue;">.</mark>&#x20;
{% endhint %}

You are advised to verify the recipient before proceeding with the transfer. We have provided bank verification endpoints which you can view via the link below.&#x20;

{% content-ref url="bank-account-verification" %}
[bank-account-verification](https://docs.leanx.io/api-docs/payout/bank-account-verification)
{% endcontent-ref %}

## Authentication

LeanX uses **Auth Token** to authenticate in each request's header.

{% hint style="info" %}
**Auth Token** can be retrieved in your portal dashboard under **API** page.
{% endhint %}

**Request Header**

{% code overflow="wrap" %}

```json
{
    "auth-token": "LP-0D7C06DE-MM|7394e58e-edee-4c42-9ca5-bcbc449f1b9f|2141df4a3cb633d5ce8683bb0c55067e5caebfbe07390dde277dc455bcc95c91723a81b5e565c7c02d68fb84e396722563016bf99e576a4b8cdbe4423fbf226b"
}
```

{% endcode %}

## Create a payout

HTTP Method: <mark style="color:yellow;">POST</mark>

```
https://api.leanx.dev/api/v1/merchant/create-payout-invoice
```

#### Request body

```json
{
  "virtual_pool_reference": "VA-8F9FD0-132317969417-PAYOUT",
  "payout_service_id": 23,
  "amount": 13.00,
  "recipient_name": "John Doe",
  "client_callback_url": "https://www.yourdomain.com/api-callback-url",
  "third_party_account_no": "8011408168",
  "external_invoice_ref": "INVOICE1234",
  "recipient_reference": "test"
}
```

#### Attribute

<table><thead><tr><th width="234">Property</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>virtual_pool_reference<mark style="color:red;">*</mark></td><td>String</td><td>Your virtual pool reference can be found in the portal under <strong>Prefund</strong> Page</td></tr><tr><td>payout_service_id<mark style="color:red;">*</mark></td><td>Number</td><td>Payout service ID from <a href="payout-service">payout service</a> list</td></tr><tr><td>amount<mark style="color:red;">*</mark></td><td>Decimal (10,2)</td><td>The amount that you want to payout.</td></tr><tr><td>recipient_name</td><td>String</td><td>Required</td></tr><tr><td>client_callback_url<mark style="color:red;">*</mark></td><td>String</td><td>Callback url after the payout is made.</td></tr><tr><td>third_party_account_no<mark style="color:red;">*</mark></td><td>String</td><td>Account number of the recipient</td></tr><tr><td>external_invoice_ref</td><td>String</td><td>Reference to your own invoice ID. Can be use to query back the payout status</td></tr><tr><td>recipient_reference<mark style="color:red;">*</mark></td><td>String</td><td>Recipient reference for the transfer</td></tr></tbody></table>

#### Response

```json
{
  "response_code": 2000,
  "description": "SUCCESS",
  "app_version": "/api/v1",
  "talk_to_server_before": "2023-12-05T17:43:07.620538",
  "data": {
    "status": "SUCCESS",
    "invoice_no": "PAYOUT-A9D5:174307-LEANX"
  },
  "breakdown_errors": "",
  "token": "18e0933d-6bc1-4808-9bc7-aad2bcd38686"
}
```
