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

# Payment Links Entity

> Entity parameters and sample code for Payment Links API.

<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 Payment Link entity has the following fields:

<ResponseExample>
  ```json Standard Payment Link Entity theme={null}
  {
    "accept_partial": true,
    "amount": 1000,
    "amount_paid": 0,
    "callback_method": "get",
    "callback_url": "https://example-callback-url.com/",
    "cancelled_at": 1591097270,
    "created_at": 1591097057,
    "currency": "SGD",
    "customer": {
      "contact": "<phone>",
      "email": "<email>",
      "name": "<name>"
    },
    "description": "Payment for policy no #23456",
    "expire_by": 1691097057,
    "expired_at": 0,
    "first_min_partial_amount": 100,
    "id": "plink_ExjpAUN3gVHrPJ",
    "notes": {
      "policy_name": "Life Insurance Policy"
    },
    "notify": {
      "email": true,
      "sms": true
    },
    "payments": [],
    "reference_id": "TS1989",
    "reminder_enable": true,
    "reminders": {
      "status": "failed"
    },
    "short_url": "https://rzp.io/i/nxrHnLJ",
    "status": "cancelled",
    "updated_at": 1591097270,
    "user_id": ""
  }
  ```

  ```json UPI Payment Link Entity theme={null}
  {
    "accept_partial": false,
    "amount": 1000,
    "amount_paid": 0,
    "cancelled_at": 1591097270,
    "created_at": 1591097057,
    "currency": "SGD",
    "customer": {
      "contact": "<phone>",
      "email": "<email>",
      "name": "<name>"
    },
    "description": "Payment for policy no #23456",
    "expire_by": 1691097057,
    "expired_at": 0,
    "first_min_partial_amount": 0,
    "id": "plink_ExjpAUN3gVHrPJ",
    "upi_link": "true",
    "notes": {
      "policy_name": "Life Insurance Policy"
    },
    "notify": {
      "email": true,
      "sms": true
    },
    "payments": null,
    "reference_id": "TS1989",
    "reminder_enable": true,
    "reminders": {
      "status": "failed"
    },
    "short_url": "https://rzp.io/i/nxrHnLJ",
    "source": "",
    "source_id": "",
    "status": "created",
    "updated_at": 1591097270,
    "user_id": ""
  }
  ```

  ```json Standard Payment Link Entity theme={null}
  {
    "amount": 1000,
    "amount_paid": 0,
    "callback_method": "get",
    "callback_url": "https://example-callback-url.com/",
    "cancelled_at": 1591097270,
    "created_at": 1591097057,
    "currency": "SGD",
    "customer": {
      "contact": "<phone>",
      "email": "<email>",
      "name": "<name>"
    },
    "description": "Payment for policy no #23456",
    "expire_by": 1691097057,
    "expired_at": 0,
    "id": "plink_ExjpAUN3gVHrPJ",
    "notes": {
      "policy_name": "Life Insurance Policy"
    },
    "notify": {
      "email": true,
      "sms": true
    },
    "payments": [],
    "reference_id": "TS1989",
    "reminder_enable": true,
    "reminders": {
      "status": "failed"
    },
    "short_url": "https://rzp.io/i/nxrHnLJ",
    "status": "cancelled",
    "updated_at": 1591097270,
    "user_id": ""
  }
  ```

  ```json UPI Payment Link Entity theme={null}
  {
    "amount": 1000,
    "amount_paid": 0,
    "cancelled_at": 1591097270,
    "created_at": 1591097057,
    "currency": "SGD",
    "customer": {
      "contact": "<phone>",
      "email": "<email>",
      "name": "<name>"
    },
    "description": "Payment for policy no #23456",
    "expire_by": 1691097057,
    "expired_at": 0,
    "id": "plink_ExjpAUN3gVHrPJ",
    "upi_link": "true",
    "notes": {
      "policy_name": "Life Insurance Policy"
    },
    "notify": {
      "email": true,
      "sms": true
    },
    "payments": null,
    "reference_id": "TS1989",
    "reminder_enable": true,
    "reminders": {
      "status": "failed"
    },
    "short_url": "https://rzp.io/i/nxrHnLJ",
    "source": "",
    "source_id": "",
    "status": "created",
    "updated_at": 1591097270,
    "user_id": ""
  }
  ```

  ```json Standard Payment Link Entity theme={null}
  {
    "accept_partial": true,
    "amount": 1000,
    "amount_paid": 0,
    "callback_method": "get",
    "callback_url": "https://example-callback-url.com/",
    "cancelled_at": 1591097270,
    "created_at": 1591097057,
    "currency": "SGD",
    "customer": {
      "contact": "<phone>",
      "email": "<email>",
      "name": "<name>"
    },
    "description": "Payment for policy no #23456",
    "expire_by": 1691097057,
    "expired_at": 0,
    "first_min_partial_amount": 100,
    "id": "plink_ExjpAUN3gVHrPJ",
    "notes": {
      "policy_name": "Life Insurance Policy"
    },
    "notify": {
      "email": true,
      "sms": true
    },
    "payments": [],
    "reference_id": "TS1989",
    "reminder_enable": true,
    "reminders": {
      "status": "failed"
    },
    "short_url": "https://rzp.io/i/nxrHnLJ",
    "status": "cancelled",
    "updated_at": 1591097270,
    "user_id": ""
  }
  ```
</ResponseExample>

<ResponseField name="amount" type="integer">
  Amount to be paid using the Payment Link. Must be in the smallest unit of the currency. For example, if you want to receive a payment of , you must enter the value `30000`.
</ResponseField>

<ResponseField name="amount_paid" type="integer">
  Amount paid by the customer.
</ResponseField>

<ResponseField name="callback_url" type="string">
  If specified, adds a redirect URL to the Payment Link. Once the customer completes the payment, they are redirected to the specified URL.
</ResponseField>

<ResponseField name="callback_method" type="string">
  If `callback_url` parameter is passed, `callback_method` must be passed with the value `get`.
</ResponseField>

<ResponseField name="cancelled_at" type="integer">
  Timestamp, in Unix, at which the Payment Link was cancelled by you.
</ResponseField>

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

<ResponseField name="currency" type="string">
  Defaults to SGD.
</ResponseField>

<ResponseField name="customer" type="json object">
  Customer details.
</ResponseField>

<ResponseField name="name" type="string">
  The customer's name.
</ResponseField>

<ResponseField name="email" type="string">
  The customer's email address.
</ResponseField>

<ResponseField name="contact" type="string">
  The customer's phone number.
</ResponseField>

<ResponseField name="description" type="string">
  A brief description of the Payment Link.
</ResponseField>

<ResponseField name="expire_by" type="integer">
  Timestamp, in Unix, when the Payment Link will expire. By default, a Payment Link will be valid for six months from the date of creation. Please note that the expire by date cannot exceed more than six months from the date of creation.
</ResponseField>

<ResponseField name="expired_at" type="integer">
  Timestamp, in Unix, at which the Payment Link expired.
</ResponseField>

<ResponseField name="first_min_partial_amount" type="integer">
  Minimum amount that must be paid by the customer as the first partial payment. For example, if an amount of  is to be received from the customer in two installments of #1 - , #2 - , then you can set this value as `500000`.
</ResponseField>

<ResponseField name="id" type="string">
  Unique identifier of the Payment Link. For example, `plink_ERgihyaAAC0VNW`.
</ResponseField>

<ResponseField name="notes" type="object">
  Set of key-value pairs that you can use to store additional information. You (Businesses) can enter a maximum of 15 key-value pairs, with each value having a maximum limit of 256 characters.
</ResponseField>

<ResponseField name="notify" type="array">
  Defines who handles Payment Link notification.
</ResponseField>

<ResponseField name="sms" type="boolean">
  Defines who handles the SMS notification.

  * `true`: Razorpay handles the notification.
  * `false`: Businesses handle the notification.
</ResponseField>

<ResponseField name="email" type="boolean">
  Defines who handles the email notification.

  * `true`: Razorpay handles the notification.
  * `false`: Businesses handle the notification.
</ResponseField>

<ResponseField name="payments" type="array">
  Payment details such as amount, payment id, Payment Link id and more are stored in this array. It is populated only after a payment is successfully captured by the customer. Only captured payments will be shown here. Until then, the value is `null`.
</ResponseField>

<ResponseField name="amount" type="integer">
  The amount paid by the customer using the Payment Link.
</ResponseField>

<ResponseField name="created_at" type="integer">
  Timestamp, in Unix, indicating when the payment was made.
</ResponseField>

<ResponseField name="method" type="string">
  The payment method used to make the payment. Possible values:

  * `paynow`
  * `card`
  * `wallet`
</ResponseField>

<ResponseField name="payment_id" type="string">
  Unique identifier of the payment made against the Payment Link.
</ResponseField>

<ResponseField name="plink_id" type="string">
  Unique identifier of the Payment Link. For example, `plink_ERgihyaAAC0VNW`.
</ResponseField>

<ResponseField name="status" type="string">
  The payment state. Possible value is `captured`.
</ResponseField>

<ResponseField name="updated_at" type="integer">
  Timestamp, in Unix, indicating when the payment was updated.
</ResponseField>

<ResponseField name="reference_id" type="string">
  Reference number tagged to a Payment Link. Must be a unique number for each Payment Link. The maximum character limit supported is 40.
</ResponseField>

<ResponseField name="short_url" type="string">
  The unique short URL generated for the Payment Link.
</ResponseField>

<ResponseField name="status" type="string">
  Displays the current state of the Payment Link. Possible values:

  * `created`
  * `partially_paid`
  * `expired`
  * `cancelled`
  * `paid`
</ResponseField>

<ResponseField name="updated_at" type="integer">
  Timestamp, in Unix, indicating when the Payment Link was updated.
</ResponseField>

<ResponseField name="reminder_enable" type="boolean">
  Used to send [reminders](/docs/sg/payments/payment-links/reminders) for the Payment Link. Possible values:

  * `true`: To send reminders.
  * `false`: To disable reminders.
</ResponseField>

<ResponseField name="user_id" type="string">
  A unique identifier for the user role through which the Payment Link was created. For example, `HD1JAKCCPGDfRx`.
</ResponseField>
