API Endpoint | Description |
---|---|
Creates a Standard Payment Link. | |
Creates a UPI Payment Link. | |
Retrieves data of all Standard Payment Links. | |
Retrieves data of all UPI Payment Links. | |
Retrieves data of a Standard Payment Link by Id. | |
Retrieves data of a UPI Payment Link by Id. | |
Sends notifications to your customers. | |
Updates the details of Standard Payment Links. | |
Updates the details of UPI Payment Links. | |
Cancels a Standard Payment Link. | |
Cancels a UPI Payment Link. |
Payment Links
Create, update, delete, cancel, fetch and send Payment Links using Razorpay APIs.
There are two types of Payment Links:
-
Standard Payment Links: You can make payments using netbanking, cards, wallets, UPI and bank transfer payment methods using Standard Payment Links.
-
UPI Payment Links: You can select the UPI app of your choice to make payments using UPI Payment Links.
You can try out our APIs on the Razorpay Postman Public Workspace.
The Payment Link entity has the following fields:
accept_partial
boolean
Indicates whether customers can make
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 ₹300.00, you must enter the value 30000
.
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.
currency
string
Defaults to INR. We accept payments in
customer
string
Customer details
name
string
The customer's name.
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. 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.
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 ₹700.00 is to be received from the customer in two installments of #1 - ₹500.00, #2 - ₹200.00, then you can set this value as 500000
.
id
string
Unique identifier of the Payment Link. For example, plink_ERgihyaAAC0VNW
.
upi_link
boolean
Indicates whether the Payment Link is a UPI Payment Link.
true
: A UPI Payment Link has been created.false
: It is a Standard Payment Link.
notes
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.
notify
array
Defines who handles Payment Link notification.
sms
boolean
Defines who handles the SMS notification.
true
: Razorpay handles the notification.false
: Businesses handle the notification.
boolean
Defines who handles the email notification.
true
: Razorpay handles the notification.false
: Businesses 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_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:
created
partially_paid
expired
cancelled
paid
updated_at
integer
Timestamp, in Unix, indicating when the Payment Link was updated.
reminder_enable
boolean
Used to send
true
: To send reminders.false
: To disable reminders.
user_id
string
A unique identifier for the user role through which the Payment Link was created. For example, HD1JAKCCPGDfRx
.
You can create, fetch, edit or cancel Payment Links using APIs or from the
.Upon successful payment, customers can be directed to a designated URL through 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 are added to the URL as shown:
https://example-callback-url.com/?razorpay_payment_id=pay_Fc8mUeDrEKf08Y&razorpay_payment_link_id=plink_Fc8lXILABzQL7M&razorpay_payment_link_reference_id=TSsd1989&razorpay_payment_link_status=partially_paid&razorpay_signature=b0ea302006d9c3da504510c9be482a647d5196b265f5a82aeb272888dcbee70e
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 be stored in your system against an order, right after it is returned in the create response. This is displayed as justid
(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 usingrazorpay_payment_link_id
razorpay_payment_link_reference_id
razorpay_payment_link_status
razorpay_payment_id
as payload and yourkey_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.
Was this page helpful?