Payment Links
Update UPI Payment Link
Update the details of a UPI Payment Link using this endpoint.
PATCH
Use this endpoint to edit the UPI Payment Link details, such as the reference id, expiry date and so on.
Path Parameters
string
required
Unique identifier of the Payment Link.
Request Parameters
boolean
Indicates whether customers can make partial payments using the Payment Link. Partial payments are not allowed with UPI Payment Links. Possible values:
true: Customer can make partial payments.false(default): Customer cannot make partial payments.
string
Adds a unique reference number to an existing link.
integer
Timestamp, in Unix format, when the payment links should expire.
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": "Payment Link for Groceries”.Response Parameters
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.
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. In the case of three decimal currencies, such as KWD, BHD and OMR, to refund a payment of 295.991, pass the value as 295990. And in the case of zero decimal currencies such as JPY, to refund a payment of 295, pass the value as 295.integer
Amount paid by the customer.
string
If specified, adds a redirect URL to the Payment Link. Once the customer completes the payment, they are redirected to the specified URL.
string
If
callback_url parameter is passed, callback_method must be passed with the value get.integer
Timestamp, in Unix, at which the Payment Link was cancelled by you.
integer
Timestamp, in Unix, indicating when the Payment Link was created.
string
Defaults to INR. We accept payments in international currencies.
Handy TipsRazorpay has added support for zero decimal currencies, such as JPY, and three decimal currencies, such as KWD, BHD, and OMR, allowing businesses to accept international payments in these currencies. Know more about Currency Conversion (May 2024).
json object
Customer details.
string
The customer’s name.
string
The customer’s email address.
string
The customer’s phone number.
string
A brief description of the Payment Link.
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.
integer
Timestamp, in Unix, at which the Payment Link expired.
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.string
Unique identifier of the Payment Link. For example,
plink_ERgihyaAAC0VNW.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.
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.
array
Defines who handles Payment Link notification.
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.
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.integer
The amount paid by the customer using the Payment Link.
integer
Timestamp, in Unix, indicating when the payment was made.
string
The payment method used to make the payment. Possible values:
netbankingcardwalletupiemibank_transfer
string
Unique identifier of the payment made against the Payment Link.
string
Unique identifier of the Payment Link. For example,
plink_ERgihyaAAC0VNW.string
The payment state. Possible value is
captured.integer
Timestamp, in Unix, indicating when the payment was updated.
string
Reference number tagged to a Payment Link. Must be a unique number for each Payment Link. The maximum character limit supported is 40.
string
The unique short URL generated for the Payment Link.
string
Displays the current state of the Payment Link. Possible values:
createdpartially_paidexpiredcancelledpaid
integer
Timestamp, in Unix, indicating when the Payment Link was updated.
boolean
Used to send reminders for the Payment Link. Possible values:
true: To send reminders.false: To disable reminders.
string
A unique identifier for the user role through which the Payment Link was created. For example,
HD1JAKCCPGDfRx.Errors
update can only be made in created or partially paid state
update can only be made in created or partially paid state
Code:
400A payment link has been passed in paid state.Solution: Ensure that the Payment Link is in the created state or partially paid state to update the Payment Link.wrong input fields sent.
wrong input fields sent.
Code:
400When wrong input fields are sent while updating the Payment Link.Solution: Ensure that the input fields are added correctly. Refer to these request parameters on how to add correct input fields.The id provided does not exist
The id provided does not exist
Code:
400The Payment Link does not belong to the requestor business, or it doesn’t exist.Solution: Ensure that the Payment Link is valid and belongs to the requestor business.The api {key/secret} provided is invalid
The api {key/secret} provided is invalid
Code:
4xxThere is a mismatch between the API credentials passed in the API call and the API credentials generated on the Dashboard.Solution: Ensure that the API Keys are active and entered correctly. Also, make sure there are no white-spaces before or after the keys.an update is already in progress.
an update is already in progress.
Code:
400Another update or cancel operation is currently in progress for the same Payment Link. Razorpay holds a short-lived lock against the link id to prevent concurrent state changes.Solution: Wait a few seconds and retry. If the issue persists, fetch the link to confirm its current state before retrying.extra fields sent in state {status}.
extra fields sent in state {status}.
Code:
400The request body contains a field that is not editable while the Payment Link is in the current status. The error message echoes the actual status. For example, extra fields sent in state partially_paid. The set of editable fields varies based on the link’s status.Solution: Restrict the PATCH body to the fields editable in the link’s current status. Fetch the link first to confirm its status, then only send fields allowed for that status.