API ReferenceIntegrationsKnowledge Base

UPI Payment Link

UPI Payment Links are URLs that you can send to your customers through SMS to collect payments. Customers can click on the URL, which displays the list of PSP apps installed on the device, and complete the payment using one of those apps.

Use the below endpoint to create a UPI Payment Link.

/payment_links

Request Parameters🔗

Following table lists the attributes and their explanations, which are sent in the request body:

upi_link mandatory

boolean Must be set to true for creating UPI Payment Link.
Note:
If the upi_link parameter is not passed or passed with value as false, a Standard Payment Link will be created.

amount mandatory

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 ₹299.95, you must enter the value 29995.

currency optional

string A three-letter ISO code for the currency in which you want to accept the payment. For example, INR. We accept payments in international currencies. We accept payments in international currencies.

description optional

string A brief description of the Payment Link. The maximum character limit supported is 2048.

reference_id optional

string Reference number tagged to a Payment Link. Must be a unique number for each Payment Link. The maximum character limit supported is 40.

customer

Customer details

name optional
string The customer's name.
email optional
string The customer's email address.
contact optional
string The customer's phone number.
expire_by optional

integer Timestamp, in Unix, at which the Payment Link will expire. By default, a Payment Link will be valid for six months from the date of creation.

notify optional

object Defines who handles Payment Link notification.

sms
boolean Defines who handles the SMS notification.
  • true - Razorpay handles the notification.
  • false - You handle the notification.
email optional
boolean Defines who handles the email notification.
  • true - Razorpay handles the notification.
  • false - You handle the notification.
notes optional

json object Key-value pair that can be used to store additional information about the entity. Maximum 15 key-value pairs, 256 characters (maximum) each. For example, "note_key": "Beam me up Scotty”.

Note:
Once you have created the Payment Link, the response from Razorpay API includes a field called short_url. This URL can be shared with the customer by any other means as well, for making the payment.

Response Parameters🔗

accept_partial

boolean Indicates whether customers can make partial payments using the Payment Link. Possible value is false.

amount

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 ₹299.95, you must enter the value 29995.

amount_paid

integer Amount paid by the customer.

cancelled_at

integer Timestamp, in Unix, at which the Payment Link was cancelled by you.

created_at

integer Timestamp, in Unix, indicating when the Payment Link was created.

currency

string Defaults to INR. We accept payments in international currencies. We accept payments in international currencies.

customer

Customer details

name
string The customer's name.
email
string The customer's email address.
contact
string The customer's phone number.
description

string A brief description of the Payment Link.

expire_by

integer Timestamp, in Unix, when the Payment Link will expire.

expired_at

integer Timestamp, in Unix, at which the Payment Link expired.

first_min_partial_amount

integer Partial payments are not allowed on UPI Payment Links.

id

string Unique identifier of the Payment Link. For example, plink_ERgihyaAAC0VNW.

upi_link

boolean Must be set to true for creating UPI Payment Link.
Note:
If the upi_link parameter is not passed or passed with value as false, a Standard Payment Link will be created.

notes

object Set of key-value pairs that you can use to store additional information. You can enter a maximum of 15 key-value pairs, with each value having a maximum limit of 256 characters.

notify

array Defines who handles Payment Link notification.

sms :boolean Defines who handles the SMS notification. - true - Razorpay handles notification. - false - You handle the notification.

email optional :boolean Defines who handles the email notification. - true - Razorpay handles notification. - false - You handle the notification.

payments

array Payment details such as amount, payment ID, Payment Link ID and more. This array gets populated only after the customer makes a payment. Until then, the value is null.

amount
integer The amount paid by the customer using the Payment Link.
created_at
integer Timestamp, in Unix, indicating when the payment was made.
method
string The payment method used to make the payment. Possible value is upi.
payment_id
string Unique identifier of the payment made against the Payment Link.
plink_id
string Unique identifier of the Payment Link. For example, plink_ERgihyaAAC0VNW.
status
string The payment state. Possible values:
  • captured
  • failed
updated_at
integer Timestamp, in Unix, indicating when the payment was updated.
reference_id

string Reference number tagged to a Payment Link. Must be a unique number for each Payment Link. The maximum character limit supported is 40.

short_url

string The unique short URL generated for the Payment Link.

status

string Displays the current state of the Payment Link. Possible values:

updated_at

integer Timestamp, in Unix, indicating when the Payment Link was updated.

×