# Overview

A payout is the transfer of funds to a bank account or other payment option. To receive funds (for you or your vendors), you can pay out from an existing account containing an available balance ([`payable_balance`](https://docs.unipaas.com/docs/ewallet-management#the-ewallet-object)).

Make sure to implement payout webhooks so you will get notified about your vendors activity

## What you can do with the Payouts

* Send fast payouts to your Vendors' Bank account
* Send fast payouts to your Bank account

## Scheduled Payout

You can decide whether you like to schedule payouts or perform an on-demand payout.\
UNIPaaS allow you to schedule your own payouts and your vendor payouts. you can also schedule a payout for each vendor separately. If you embedded our vendor view in your admin, your vendors will be able to configure their own scheduled payouts.\
You can \[learn more] ([https://docs.unipaas.com/docs/payouts-from-unipaas-portal](https://docs.unipaas.com/docs/payouts-from-unipaas-portal)) about scheduled payouts here

## Before You Begin

* Make sure you have the relevant account ID 
* Make sure you have the correct Vendor ID 
* Make sure you have a relevant payout option configured or [register new one](https://docs.unipaas.com/docs/edit-vendor-payment-option-1#register-payout-option)

## Request Payout

Requesting a payout consists of 2 steps:

1. Create
2. Commit / Cancel

Funds will be deducted from account on step 2 if a commit was made

## The Payout Object

<table>
  <thead>
    <tr>
      <th>
        Parameter
      </th>

      <th>
        Type
      </th>

      <th>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        'id'
      </td>

      <td>
        Number
      </td>

      <td>
        Unique id of payout object
      </td>
    </tr>

    <tr>
      <td>
        'ewallet\_id'
      </td>

      <td>
        String
      </td>

      <td>
        account id of the payout balance
      </td>
    </tr>

    <tr>
      <td>
        'payout\_option\_id'
      </td>

      <td>
        String
      </td>

      <td>
        Payout option id of the payout
      </td>
    </tr>

    <tr>
      <td>
        'payout\_method'
      </td>

      <td>
        Enum
      </td>

      <td>
        Payout method: bank\_transfer
      </td>
    </tr>

    <tr>
      <td>
        'amount'
      </td>

      <td>
        Number
      </td>

      <td>
        Amount of the payout
      </td>
    </tr>

    <tr>
      <td>
        `currency`
      </td>

      <td>
        Enum
      </td>

      <td>
        account currency: 'USD', 'EUR', 'GBP'
      </td>
    </tr>

    <tr>
      <td>
        'status'
      </td>

      <td>
        Enum
      </td>

      <td>
        Payout's status: 'Pending', 'Succeeded', 'Failed'
      </td>
    </tr>
  </tbody>
</table>

## The Payout Option Object

<table>
  <thead>
    <tr>
      <th>
        Parameter
      </th>

      <th>
        Type
      </th>

      <th>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        'id'
      </td>

      <td>
        String
      </td>

      <td>
        Unique id of payout option
      </td>
    </tr>

    <tr>
      <td>
        'identityType'
      </td>

      <td>
        Enum
      </td>

      <td>
        Identity Type: VENDOR
      </td>
    </tr>

    <tr>
      <td>
        'identity'
      </td>

      <td>
        String
      </td>

      <td>
        id of identity
      </td>
    </tr>

    <tr>
      <td>
        'payout\_option\_type'
      </td>

      <td>
        Enum
      </td>

      <td>
        Payout option types: 'Card', 'Alternative', 'Bank Account'
      </td>
    </tr>

    <tr>
      <td>
        'bank\_account'
      </td>

      <td>
        Object
      </td>

      <td>
        For Payout Option 'Bank Account' only.
      </td>
    </tr>

    <tr>
      <td>
        'card\_account'
      </td>

      <td>
        Object
      </td>

      <td>
        For Payout Option 'Card' only.
      </td>
    </tr>

    <tr>
      <td>
        'apm\_account'
      </td>

      <td>
        Object
      </td>

      <td>
        For Payout Option 'Alternative' only.
      </td>
    </tr>
  </tbody>
</table>

An example for 'bank\_account' object:

```json
{
  "iban": "GB71BARC20032634966595",
  "name": "Unipass docs example",
  "country": "GB"
}
```

An example for 'apm\_account' object:

```json
{
  "name": "Unipass docs example"
}
```

An example for 'card\_account' object:

```json
{
        "brand": "VISA",
        "issuer_country": "GB",
        "program": "Visa Traditional",
        "bin": "*******",
        "expiration_month": "09",
        "expiration_year": "22",
        "last4Digits": "****"
}
```
