> ## 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.

# Create Payout Links Using Contact Details

> Create Payout Links via API using recipient's contact details.

<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>

Use this endpoint to create a Payout Link using customer's contact details such as email id or mobile number. You can choose to send the Payout Link to either contact details. Know more about [Payout Links](/docs/x/payout-links).

<RequestExample>
  ```bash Curl theme={null}
  curl -u <YOUR_KEY>:<YOUR_SECRET> \
  -X POST https://api.razorpay.com/v1/payout-links \
  -H "Content-Type: application/json" \
  -d '{
    "account_number": "7878780080857996",
    "contact": {
      "name": "Gaurav Kumar",
      "contact": "912345678",
      "email": "gaurav.kumar@example.com",
      "type": "customer"
    }, // Only applicable when you have the contact details of the recipient. 
    "amount": 1000,
    "currency": "INR",
    "purpose": "refund",
    "description": "Payout link for Gaurav Kumar",
    "receipt": "Receipt No. 1",
    "send_sms": true,
    "send_email": true,
    "notes": {
      "notes_key_1":"Tea, Earl Grey, Hot",
      "notes_key_2":"Tea, Earl Grey… decaf."
    },
    "expire_by": 1545384058 // This parameter can be used only if you have enabled the expiry feature for Payout Links.
  }'
  ```
</RequestExample>

<ResponseExample>
  ```json Success theme={null}
  {
    "id": "poutlk_00000000000001",
    "entity": "payout_link",
    "contact": {
      "name": "Gaurav Kumar",
      "email": "gaurav.kumar@example.com",
      "contact": "912345678"
    },

    "purpose": "refund",
    "status": "issued",
    "amount": 1000,
    "currency": "INR",
    "description": "Payout link for Gaurav Kumar",
    "short_url": "https://rzp.io/i/3b1Tw6",
    "created_at": 1545383037,
    "contact_id": "cont_00000000000001",
    "send_sms": true,
    "send_email": true,
    "fund_account_id": null,
    "cancelled_at": null,
    "attempt_count": 0,
    "receipt": "Receipt No. 1",
    "notes": {
      "notes_key_1":"Tea, Earl Grey, Hot",
      "notes_key_2":"Tea, Earl Grey… decaf."
    },
    "expire_by": 1545384058,
    "expired_at": 1545384658
  }
  ```
</ResponseExample>

## Request Parameters

<ParamField body="account_number" type="string" required>
  The account from which you want to make the payout.<br />Account details can be found on the [RazorpayX Dashboard](https://x.razorpay.com/settings/banking). For example, `7878780080316316`.

  * Pass your customer identifier if you want money to be deducted from RazorpayX Lite.
  * Pass your current account number if you want money to be deducted from your current account.

  <Warning>
    **Watch Out!**

    * This is **NOT** your contact's bank account number. Log in to your [**RazorpayX Dashboard**](https://x.razorpay.com/auth/?intent=current_account) and go to **My Account & Settings → Banking → Customer Identifier**.
    * This value is different for Test Mode and Live Mode.
  </Warning>
</ParamField>

<ParamField body="contact" type="object" required>
  Details of the contact to whom the Payout Link is to be sent. Do not pass the `id` parameter.
</ParamField>

<ParamField body="name" type="string" required>
  <br /><br />**Use this only if you are not using the `id` parameter.**<br /><br />The contact's name. This field is case-sensitive. A minimum of 3 characters and a maximum of 50 characters are allowed. Name cannot end with a special character, except `.`. Supported characters: `a-z`, `A-Z`, `0-9`, `space`, `’` , `-` , `_` , `/` , `(` , `)` and , `.`. For example, `Gaurav Kumar`.For example, `Gaurav Kumar`.
</ParamField>

<ParamField body="contact" type="string">
  Use this only if you are not using the `id` parameter. The contact's phone number. For example, `9000090000`.
</ParamField>

<ParamField body="email" type="string" required>
  Use this only if you are not using the `id` parameter. The contact's email address. For example, `gaurav.kumar@example.com`.
</ParamField>

<ParamField body="type" type="string">
  Use this only if you are not using the `id` parameter. Classification for the contact being created. For example, `employee`.<br /><br />The following classifications are available by default:

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

  Additional classifications can be created via the [Dashboard](https://x.razorpay.com/) and then used in APIs. It is not possible to create new classifications via the API.
</ParamField>

<ParamField body="amount" type="integer" required>
  The amount, in paise, to be transferred from the business account to the contact's fund account. For example, pass `1000000` to transfer an amount of ₹10,000. The minimum value that can be passed is `100`. <br /> <br /> The value passed here does not include fees and tax. Fees and tax, if any, are deducted from your account balance.
</ParamField>

<ParamField body="currency" type="string" required>
  The currency in which the payout is being made. Here, it is `INR`.
</ParamField>

<ParamField body="purpose" type="string" required>
  The purpose of the payout that is being created via the Payout Link. For example, `refund`.<br /><br />Classifications available by default:

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

  Additional purposes for payouts can be created via the [Dashboard](https://x.razorpay.com/) and then used in the API. You cannot create new payout purposes via the API.
</ParamField>

<ParamField body="description" type="string" required>
  Add a description to communicate the context of the Payout Link to the recipient. For example, `Cashback for Mr. Gaurav Kumar on the purchase on Earl Grey Tea`.
</ParamField>

<ParamField body="receipt" type="string">
  A user-entered receipt number for the payout. For example, `Receipt No. 1`.
</ParamField>

<ParamField body="send_sms" type="boolean">
  Possible values:

  * `true`: Razorpay sends the Payout Link to the provided contact number via SMS.
  * `false` (default): You send the Payout Link to the contact via SMS.
</ParamField>

<ParamField body="send_email" type="boolean">
  Possible values:

  * `true`: Razorpay sends the Payout Link to the provided email address via email.
  * `false` (default): You send the Payout Link to the contact via email.
</ParamField>

<ParamField body="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”`.
</ParamField>

<ParamField body="expire_by" type="integer">
  Timestamp, in Unix, when the Payout Link was to expire. This is set at the time of creation of the Payout Link and is set at least 15 minutes ahead of the current time. <br /> <br /> This value is returned only if you have enabled expiry feature for Payout Links. Know more about how to [set expiry](/docs/x/payout-links/set-expiry) to Payout Links.
</ParamField>

## Response Parameters

<ResponseField name="id" type="string">
  The unique identifier of the Payout Link that is created. For example, `poutlk_00000000000001`.
</ResponseField>

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

<ResponseField name="contact" type="object">
  Details of the contact to whom the Payout Link is to be sent.
</ResponseField>

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

<ResponseField name="type" type="string">
  Classification of the contact being created. For example, `employee`.
</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="purpose" type="string">
  The purpose of the payout. For example, `refund`, `cashback` or `payout`.
</ResponseField>

<ResponseField name="status" type="string">
  The Payout Link status. Possible values:

  * `pending`
  * `issued`
  * `processing`
  * `processed`
  * `cancelled`
  * `rejected`
    <br /> <br /> Refer to the [Payout Link Life Cycle section](/docs/x/payout-links/life-cycle) for more details.
</ResponseField>

<ResponseField name="amount" type="integer">
  The amount, in paise, to be transferred from the business account to the contact's fund account. <br /> <br /> The value passed here does not include fees and tax. Fees and tax, if any, are deducted from your account balance.
</ResponseField>

<ResponseField name="currency" type="string">
  The currency in which the payout is being made. Here, it is `INR`.
</ResponseField>

<ResponseField name="description" type="string">
  A user-entered description for the Payout Link. For example, `Payout link for Gaurav Kumar`.
</ResponseField>

<ResponseField name="short_url" type="string">
  A short link for the Payout Link that was created. This is the link that is shared with the contact.
</ResponseField>

<ResponseField name="created_at" type="integer">
  Timestamp, in Unix, when the Payout Link was created.
</ResponseField>

<ResponseField name="contact_id" type="string">
  The unique identifier of the contact to whom the Payout Link has to be sent. For example, `cont_00000000000001`.
</ResponseField>

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

  * `true`: SMS sent to the provided contact number.
  * `false`: SMS could not be sent to the provided contact number. This could be because the contact number provided was wrong.
</ResponseField>

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

  * `true`: Email sent to the provided email address.
  * `false`: Email could not be sent to the provided email address. This could be because the email address provided was wrong.
</ResponseField>

<ResponseField name="fund_account_id" type="string">
  The unique identifier of the contact's fund account to which the payout will be made. For example, `fa_00000000000001`. <br /> <br /> Fund Account id is returned only when the Payout Link moves to the [`processing` state](/docs/x/payout-links/life-cycle).
</ResponseField>

<ResponseField name="payout_id" type="string">
  The unique identifier for the payout made to the contact. For example, `pout_00000000000001`. <br /> <br /> This value is returned only when the Payout Link moves to the [`processed` state](/docs/x/payout-links/life-cycle).
</ResponseField>

<ResponseField name="cancelled_at" type="integer">
  Timestamp, in Unix, when the Payout Link was cancelled by you. This value is returned only when the Payout Link moves to the `cancelled` state.
</ResponseField>

<ResponseField name="attempt_count" type="integer">
  The number of attempts to complete the payout. For example, `0`.
</ResponseField>

<ResponseField name="receipt" type="string">
  A user-entered receipt number for the payout. For example, `Receipt No. 1`.
</ResponseField>

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

<ResponseField name="expire_by" type="integer">
  Timestamp, in Unix, when the Payout Link was to expire. This is set at the time of creation of the Payout Link and is set at least 15 minutes ahead of the current time. <br /> <br /> This value is returned only if you have enabled the expiry feature for Payout Links. Know how to [set expiry](/docs/x/payout-links/set-expiry) to Payout Links.
</ResponseField>

<ResponseField name="expired_at" type="integer">
  Timestamp, in Unix, when the Payout Link expired. This is set at the time of creation of the Payout Link.
</ResponseField>
