> ## Documentation Index
> Fetch the complete documentation index at: https://razorpay-881012b3.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Payout Composite Entity

> Check the entity code for Payout Composite APIs.

<div style={{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"0.35rem 0.9rem",border:"1px solid rgba(128,128,128,0.28)",borderRadius:"0.5rem",padding:"0.45rem 0.75rem",margin:"0 0 1.25rem",fontSize:"0.875rem"}}>
  <span style={{fontWeight:600}}>Available in</span>
  <span>🇮🇳 India</span>
  <span>🇸🇬 Singapore</span>
  <span>🇺🇸 United States</span>
</div>

The Payout Composite Entity has the following parameters:

<ResponseExample>
  ```json Sample Entity theme={null}
  {
      "id": "pout_F681qslJ3ba70q",
      "entity": "payout",
      "fund_account_id": "fa_F681qr6Bqy1Je7",
      "fund_account": {
          "id": "fa_F681qr6Bqy1Je7",
          "entity": "fund_account",
          "contact_id": "cont_F681qmU11CfPDl",
          "contact": {
              "id": "cont_F681qmU11CfPDl",
              "entity": "contact",
              "name": "Gaurav Kumar",
              "contact": "9876543210",
              "email": "gaurav.kumar@example.com",
              "type": "employee",
              "reference_id": "Acme Contact ID 12345",
              "batch_id": null,
              "active": true,
              "notes": {
                  "notes_key_1": "Tea, Earl Grey, Hot",
                  "notes_key_2": "Tea, Earl Grey… decaf."
              },
              "created_at": 1592929016
          },
          "account_type": "bank_account",
          "bank_account": {
              "ifsc": "HDFC0001234",
              "bank_name": "HDFC Bank",
              "name": "Gaurav Kumar",
              "notes": [],
              "account_number": "1121431121541121"
          },
          "batch_id": null,
          "active": true,
          "created_at": 1592929016
      },
      "amount": 1000000,
      "currency": "INR",
      "notes": {
          "notes_key_1": "Beam me up Scotty",
          "notes_key_2": "Engage"
      },
      "fees": 590,
      "tax": 90,
      "status": "processed",
      "purpose": "refund",
      "utr": null,
      "mode": "NEFT",
      "reference_id": "Acme Transaction ID 12345",
      "narration": "Acme Corp Fund Transfer",
      "batch_id": null,
      "status_details": null,
      "created_at": 1592929017,
      "fee_type": "",
      "error": {
          "description": null,
          "source": null,
          "reason": null
      }
  }
  ```
</ResponseExample>

<ResponseField name="id" type="string">
  The unique identifier linked to the payout. For example, `pout_00000000000001`.
</ResponseField>

<ResponseField name="entity" type="string">
  The entity being created. Here, it will be `payout`.
</ResponseField>

<ResponseField name="fund_account_id" type="string">
  The unique identifier linked to the fund account. For example, `fa_00000000000001`.
</ResponseField>

<ResponseField name="fund_account" type="object">
  Contact and fund account details to which the payout was made.
</ResponseField>

<ResponseField name="id" type="string">
  The unique identifier linked to the fund account. For example, `fa_00000000000001`.
</ResponseField>

<ResponseField name="entity" type="string">
  Here it will be `fund_account`.
</ResponseField>

<ResponseField name="contact_id" type="string">
  The unique identifier linked to the contact. For example, `cont_00000000000001`.
</ResponseField>

<ResponseField name="contact" type="object">
  Details of the contact to whom the payout is being made.
</ResponseField>

<ResponseField name="id" type="string">
  The unique identifier linked to the contact. For example, `cont_00000000000001`.
</ResponseField>

<ResponseField name="entity" type="string">
  The entity being created. Here, it will be `contact`.
</ResponseField>

<ResponseField name="name" type="string">
  The contact's name. For example, `Gaurav Kumar`.
</ResponseField>

<ResponseField name="contact" type="string">
  The contact's phone number. For example, `9000090000`.
</ResponseField>

<ResponseField name="email" type="string">
  The contact's email address. For example, `gaurav.kumar@example.com`.
</ResponseField>

<ResponseField name="type" type="string">
  Classification for the contact being created. For example, `employee`. Classifications are available by default:

  * `vendor`
  * `customer`
  * `employee`
  * `self`
</ResponseField>

<ResponseField name="reference_id" type="string">
  A reference you entered for the contact. For example, `Acme Contact ID 12345`.
</ResponseField>

<ResponseField name="batch_id" type="string">
  This value is returned if the contact was created as part of a bulk upload. For example, `batch_00000000000001`.
</ResponseField>

<ResponseField name="active" type="boolean">
  Possible values:

  * `true`: active
  * `false`: inactive
</ResponseField>

<ResponseField name="notes" type="object">
  User-entered notes for internal reference. This is a key-value pair. You can enter a maximum of 15 key-value pairs. For example, `"note_key": "Beam me up Scotty”`.
</ResponseField>

<ResponseField name="created_at" type="integer">
  Timestamp, in Unix, when the contact was created. For example, `1545320320`.
</ResponseField>

<ResponseField name="account_type" type="string">
  The type of fund account being created. It can be a `bank_account`, `vpa`, `card`.
</ResponseField>

<ResponseField name="bank_account" type="object">
  The contact's bank account details.
</ResponseField>

<ResponseField name="ifsc" type="string">
  Unique identifier of a bank branch. For example, `HDFC0000053`.
</ResponseField>

<ResponseField name="bank_name" type="string">
  The contact's bank name. For example, `HDFC`.
</ResponseField>

<ResponseField name="name" type="string">
  Account holder's name. For example,`Gaurav Kumar`.
</ResponseField>

<ResponseField name="account_number" type="string">
  Beneficiary account number. For example, `765432123456789`.
</ResponseField>

<ResponseField name="notes" type="object">
  User-entered notes for internal reference.
</ResponseField>

<ResponseField name="vpa" type="object">
  The contact's virtual payment address (VPA) details.
</ResponseField>

<ResponseField name="username" type="string">
  The user name from the virtual payment address. For example, `gauravkumar`.
</ResponseField>

<ResponseField name="handle" type="string">
  The handle from the virtual payment address. For example, `exampleupi`.
</ResponseField>

<ResponseField name="address" type="string">
  The virtual payment address. For example, `gauravkumar@exampleupi`.
</ResponseField>

<ResponseField name="card" type="object">
  Details of the credit card that is being used to create the fund account.
</ResponseField>

<ResponseField name="name" type="string">
  The credit card holder's name. For example,`Gaurav Kumar`.
</ResponseField>

<ResponseField name="last4" type="string">
  The last four digits of the credit card. For example, `0001`.
</ResponseField>

<ResponseField name="network" type="string">
  The credit card issuing network. Possible values are:

  * `Visa`
  * `Mastercard`
  * `American Express`
  * `Diners Club`
</ResponseField>

<ResponseField name="type" type="string">
  Currently, this can only be `credit`.
</ResponseField>

<ResponseField name="issuer" type="string">
  The name of bank that issued the card. For example, `HDFC`. Refer to the [Supported Banks and Payout Modes section](/docs/api/x/payouts-cards#supported-banks-and-payout-modes) section for more details.
</ResponseField>

<ResponseField name="batch_id" type="string">
  This value is returned if the fund account was created as part of a bulk upload. For example, `batch_00000000000001`.
</ResponseField>

<ResponseField name="active" type="boolean">
  Possible values:

  * `true`: active
  * `false`: inactive
</ResponseField>

<ResponseField name="created_at" type="integer">
  Timestamp, in Unix, when the fund account was created. For example, `1545320320`.
</ResponseField>

<ResponseField name="amount" type="integer">
  Minimum value `100`. The payout amount, in paise. For example, if you want to transfer ₹10,000, pass `1000000`.<br />The value passed here does not include fees and tax. Fee and tax, if any, is deducted from your account balance.
</ResponseField>

<ResponseField name="currency" type="string">
  The payout currency. Here, it is `INR`.
</ResponseField>

<ResponseField name="notes" type="object">
  User-entered notes for internal reference. This is a key-value pair. You can enter a maximum of 15 key-value pairs. For example, `"note_key": "Beam me up Scotty”`.
</ResponseField>

<ResponseField name="fees" type="integer">
  The fees for the payout. This value is returned only when the payout moves to the `processing` state. For example, `5`.
</ResponseField>

<ResponseField name="tax" type="integer">
  The tax that is applicable for the fee being charged. This value is returned only when the payout moves to the `processing` state. For example, `1`.
</ResponseField>

<ResponseField name="status" type="string">
  The payout status. Possible payout states:

  * `queued`
  * `pending` (if you have [Approval Workflow](/docs/x/manage-teams/approval-workflow) enabled)
  * `rejected` (if you have [Approval Workflow](/docs/x/manage-teams/approval-workflow) enabled)
  * `processing`
  * `processed`
  * `cancelled`
  * `reversed`
  * `failed`
</ResponseField>

<ResponseField name="purpose" type="string">
  The purpose of the payout. Classifications available by default:

  * `refund`
  * `cashback`
  * `payout`
  * `salary`
  * `utility bill`
  * `vendor bill`<br />
</ResponseField>

<ResponseField name="utr" type="string">
  The unique transaction number linked to a payout. For example, `HDFCN00000000001`.
</ResponseField>

<ResponseField name="mode" type="string">
  The mode used to make the payout. Refer to the [Payouts section](/docs/x/payouts#payout-modes) for more details. Available modes:

  * `NEFT`
  * `RTGS`
  * `IMPS`
</ResponseField>

<ResponseField name="reference_id" type="string">
  A reference you entered for the payout. For example, `Acme Transaction ID 12345`. You can use this field to store your own transaction ID, if any.
</ResponseField>

<ResponseField name="narration" type="string">
  This is a custom note that also appears on the bank statement. <br /><br />If no value is passed for this parameter, it defaults to the Merchant Billing Label.
</ResponseField>

<ResponseField name="batch_id" type="string">
  This value is returned if the contact was created as part of a bulk upload. For example, `batch_00000000000001`.
</ResponseField>

<ResponseField name="status_details" type="object">
  This parameter returns the current status of the payout. For example, `IMPS is not enabled on beneficiary account, Retry with different mode.`
</ResponseField>

<ResponseField name="description" type="string">
  A description for the error. For example, `IMPS is not enabled on beneficiary account, please retry with different mode`.
</ResponseField>

<ResponseField name="source" type="string">
  Possible values:

  * `gateway`: Technical error at Razorpay Partner bank.
  * `beneficiary_bank`: Technical error at beneficiary bank.
  * `business`: Merchant action required.
  * `internal`: Technical error at Razorpay's server.
</ResponseField>

<ResponseField name="reason" type="string">
  The error reason. For example, `imps_not_allowed`. [Payout Status Details and Next Steps](/docs/errors/x/payout-status-details).
</ResponseField>

<ResponseField name="created_at" type="integer">
  Timestamp, in Unix, at which the payout was created. For example, `1545320320`.
</ResponseField>

<ResponseField name="fee_type" type="string">
  Indicates the fee type charged for the payout. Possible value is `free_payout`.
</ResponseField>
