Pass this information to your developers and ask them to change your integration accordingly.
Payment Links are URLs that you can send to your customers through SMS and email to collect payments from them. Customers can click on the URL, which opens the payment request page, and complete the payment using any of the available payment methods.
You can easily set up and use Payment Links with these APIs:
Add your API Keys in Postman. Selected the required API → Auth → Type = Basic Auth → Username = <Your_Key_ID>; Password = <Your_Key_secret>
Some APIs in the collection require data specific to your account either in the request body or as path or query parameters.
For example, the Fetch a Payment Link API requires you to add the plink_id as a path parameter in the endpoint.
Such parameters are enclosed with {} in the collection. For example, {plink_id}.
The API throws an error if these values are incorrect or do not exist in your system.The API throws an error if this value is incorrect or does not exist in your system.
The following table details some of the attributes related to Payment Links:
accept_partialoptional
boolean Indicates whether customers can make partial payments using the Payment Link. Possible values:
true - Customer can make partial payments.
false (default) - Customer cannot make partial payments.
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.
callback_url
string If specified, adds a redirect URL to the Payment Link. Once the customer completes the payment, they are redirected to the specified URL.
callback_method
string If callback_url parameter is passed, callback_method must be passed with the value get.
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.
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 Minimum amount that must be paid by the customer as the first partial payment. For example, if an amount of ₹7,000 is to be received from the customer in two installments of #1 - ₹5,000, #2 - ₹2,000, then you can set this value as 500000.
id
string Unique identifier of the Payment Link. For example, plink_ERgihyaAAC0VNW.
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.
notifyoptional
array Defines who handles Payment Link notification.
sms
boolean Defines who handles the SMS notification.
true - Razorpay handles the notification.
false - You handle the notification.
emailoptional
boolean Defines who handles the email notification.
true - Razorpay handles the 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 values:
netbanking
card
wallet
upi
emi
bank_transfer
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_idoptional
string Reference number tagged to a Payment Link. Must be a unique number for each Payment Link. The maximum character limit supported is 40.
reminder_enable
boolean Used to send reminders for the Payment Link. Possible values:
true - To send reminders.
false - To disable reminders.
short_url
string The unique short URL generated for the Payment Link.
status
string Displays the current state of the Payment Link. Possible values:
created
partially_paid
expired
cancelled
paid
updated_at
integer Timestamp, in Unix, indicating when the Payment Link was updated.
Following table lists the attributes and their explanations, which are sent in the request body:
amountmandatory
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.
boolean Used to send reminders for the Payment Link. Possible values:
true - To send reminders.
false - To disable reminders.
accept_partialoptional
boolean Indicates whether customers can make partial payments using the Payment Link. Possible values:
true - Customer can make partial payments.
false (default) - Customer cannot make partial payments.
first_min_partial_amountconditionally mandatory
integer Minimum amount, in currency subunits, that must be paid by the customer as the first partial payment. Default value is 100. Default currency is INR. For example, if an amount of ₹7,000 is to be received from the customer in two installments of #1 - ₹5,000, #2 - ₹2,000, then you can set this value as 500000. Must be passed along with accept_partial parameter.
descriptionoptional
string A brief description of the Payment Link. The maximum character limit supported is 2048.
reference_idoptional
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
nameoptional
string The Customer's name.
emailoptional
string The customer's email address.
contactoptional
string The customer's phone number.
expire_byoptional
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.
notifyoptional
array Defines who handles Payment Link notification.
sms
boolean Defines who handles the SMS notification.
true - Razorpay handles the notification.
false - You handle the notification.
emailoptional
boolean Defines who handles the email notification.
true - Razorpay handles the notification.
false - You handle the notification.
notesoptional
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”.
callback_urloptional
string If specified, adds a redirect URL to the Payment Link. Once customers completes the payment, they are redirected to the specified URL.
callback_methodconditionally mandatory
string If callback_url parameter is passed, callback_method must be passed with the value get.
After successful completion of the payment, customers can be redirected to a specific URL using the callback_url and callback_method parameters.
For example, you can redirect customers to https://example-callback-url.com/.
razorpay_payment_id
Payment ID of the successful payment.
razorpay_payment_link_id
Payment Link ID generated at the time of link creation.
razorpay_payment_link_reference_id
Internal order ID set by you for business reference using the reference_id parameter at the time of link creation. No value is returned if reference_id parameter was not used.
razorpay_payment_link_status
Current status of the link.
razorpay_signature
Signature for server-side validation to be calculated as HMAC hex digest using SHA256 algorithm. This is described below with a sample code.
The query parameters appear appended to the URL as shown:
You can verify the razorpay_signature parameter to validate that it is authentic and sent from Razorpay servers.
The razorpay_payment_link_id attribute should have been stored in your system against an order, right after it was returned in the create Payment Link response. This is displayed as just id (for example, "id": "plink_FKeEiabyAAiSVQ") in the response.
The razorpay_signature should be validated by your server. In order to verify the signature, you need to create a signature using razorpay_payment_link_id, razorpay_payment_link_reference_id, razorpay_payment_link_status and razorpay_payment_id as payload and your key_secret (your API secret) as secret.
After validating the signature, you should fetch the order in your system corresponding to the razorpay_payment_link_id and mark this order as successful.
boolean Indicates whether customers can make partial payments using the Payment Link. Possible values:
true - Customer can make partial payments.
false (default) - Customer cannot make partial payments.
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.
callback_url
string If specified, adds a redirect URL to the Payment Link. Once the customer completes the payment, they are redirected to the specified URL.
callback_method
string If callback_url parameter is passed, callback_method must be passed with the value get.
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.
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 Minimum amount that must be paid by the customer as the first partial payment. For example, if an amount of ₹7,000 is to be received from the customer in two installments of #1 - ₹5,000, #2 - ₹2,000, then you can set this value as 500000.
id
string Unique identifier of the Payment Link. For example, plink_ERgihyaAAC0VNW.
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.
notifyoptional
array Defines who handles Payment Link notification.
sms
boolean Defines who handles the SMS notification.
true - Razorpay handles the notification.
false - You handle the notification.
emailoptional
boolean Defines who handles the email notification.
true - Razorpay handles the 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 values:
netbanking
card
wallet
upi
emi
bank_transfer
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_idoptional
string Reference number tagged to a Payment Link. Must be a unique number for each Payment Link. The maximum character limit supported is 40.
reminder_enable
boolean Used to send reminders for the Payment Link. Possible values:
true - To send reminders.
false - To disable reminders.
short_url
string The unique short URL generated for the Payment Link.
status
string Displays the current state of the Payment Link. Possible values:
created
partially_paid
expired
cancelled
paid
updated_at
integer Timestamp, in Unix, indicating when the Payment Link was updated.
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.
boolean Indicates whether customers can make partial payments using the Payment Link. Possible values:
true - Customer can make partial payments.
false (default) - Customer cannot make partial payments. Note: Partial payments are not allowed with UPI Payment Links.
reference_idoptional
string Adds a unique reference number to an existing link.
expire_byoptional
integer Timestamp, in Unix format, when the payment links should expire.
reminder_enableoptional
boolean Enables you to send automated reminders on the link. Possible values are:
true - Automated reminders are sent to customers.
false - No reminders are sent.
notesoptional
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”.
boolean Indicates whether customers can make partial payments using the Payment Link. Possible values:
true - Customer can make partial payments.
false (default) - Customer cannot make partial payments.
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.
callback_url
string If specified, adds a redirect URL to the Payment Link. Once the customer completes the payment, they are redirected to the specified URL.
callback_method
string If callback_url parameter is passed, callback_method must be passed with the value get.
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.
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 Minimum amount that must be paid by the customer as the first partial payment. For example, if an amount of ₹7,000 is to be received from the customer in two installments of #1 - ₹5,000, #2 - ₹2,000, then you can set this value as 500000.
id
string Unique identifier of the Payment Link. For example, plink_ERgihyaAAC0VNW.
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.
notifyoptional
array Defines who handles Payment Link notification.
sms
boolean Defines who handles the SMS notification.
true - Razorpay handles the notification.
false - You handle the notification.
emailoptional
boolean Defines who handles the email notification.
true - Razorpay handles the 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 values:
netbanking
card
wallet
upi
emi
bank_transfer
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_idoptional
string Reference number tagged to a Payment Link. Must be a unique number for each Payment Link. The maximum character limit supported is 40.
reminder_enable
boolean Used to send reminders for the Payment Link. Possible values:
true - To send reminders.
false - To disable reminders.
short_url
string The unique short URL generated for the Payment Link.
status
string Displays the current state of the Payment Link. Possible values:
created
partially_paid
expired
cancelled
paid
updated_at
integer Timestamp, in Unix, indicating when the Payment Link was updated.
Note:
You can cancel a Payment Link only if it is in issued state.