Skip to main content
Registration Link is an alternate way of creating an authorisation transaction. You can create a registration link using the API or Dashboard.
Handy Tips
You do not have to create a customer if you choose the registration link method for creating an authorisation transaction. When you create a registration link, an invoice is automatically issued to the customer. They can use this invoice to make the authorisation payment. A registration link should always have an order amount (in paise) the customer will be charged when making the authorisation payment. This amount should be 1 in the case of cards. The following endpoint creates a registration link. /subscription_registration/auth_links
Curl

Request Parameters

customer : Details of the customer to whom the registration link is sent. name mandatory : string Customer’s name. email mandatory : string Customer’s email address. contact mandatory : integer Customer’s contact number. type mandatory : string In this case, the value is link. currency mandatory : string The 3-letter ISO currency code for the payment. Currently, only INR is supported. amount mandatory : integer The payment amount in the smallest currency sub-unit. description mandatory : string A description that appears on the hosted page. For example, 12:30 p.m. Thali meals (Gaurav Kumar). subscription_registration : Details of the authorisation payment. method mandatory : string The authorization method. Here, it is card. max_amount optional : integer The maximum amount, in paise, a customer can be charged in a transaction. This value can range from 500 to 99999900. The default value is 9900000 (₹99,000). expire_at optional : integer The Unix timestamp indicates till when you can use the token (authorisation on the payment method) to charge the customer their subsequent payments. sms_notify optional : boolean Indicates if SMS notifications are to be sent by Razorpay. Possible values:
  • true (default): Notifications are sent by Razorpay.
  • false: Notifications are not sent by Razorpay.
email_notify optional : boolean Indicates if email notifications are to be sent by Razorpay. Possible values:
  • true (default): Notifications are sent by Razorpay.
  • false: Notifications are not sent by Razorpay.
expire_by optional : integer The Unix timestamp indicates the expiry of the registration link. receipt optional : string A unique identifier entered by you for the order. For example, Receipt No. 1. You must map this parameter to the order_id sent by Razorpay. notes optional : object This is a key-value pair that is 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”.

Response Parameters

id : string The unique identifier of the invoice. entity : string The entity that has been created. Here, it is invoice. receipt : string A user-entered unique identifier of the invoice. invoice_number : string Unique number you added for internal reference. customer_id : string The unique identifier of the customer. For example, cust_BMB3EwbqnqZ2EI. customer_details : Details of the customer. id : string The unique identifier associated with the customer to whom the invoice has been issued. name : string The customer’s name. email : string The customer’s email address. contact : integer The customer’s phone number. billing_address : string Details of the customer’s billing address. shipping_address : string Details of the customer’s shipping address. order_id : string The unique identifier of the order associated with the invoice. line_items : string Details of the line item that is billed in the invoice. Maximum of 50 line items are allowed. payment_id : string Unique identifier of a payment made against the invoice. status : string The status of the invoice. Possible values:
  • draft
  • issued
  • partially_paid
  • paid
  • cancelled
  • expired
  • deleted
expire_by : integer The Unix timestamp at which the invoice will expire. issued_at : integer The Unix timestamp at which the invoice was issued to the customer. paid_at : integer The Unix timestamp at which the payment was made. cancelled_at : integer The Unix timestamp at which the invoice was cancelled. expired_at : integer The Unix timestamp at which the invoice expired. sms_status : string The delivery status of the SMS notification for the invoice sent to the customer. Possible values:
  • pending
  • sent
email_status : string The delivery status of the email notification for the invoice sent to the customer. Possible values:
  • pending
  • sent
date : integer Timestamp, in Unix format, that indicates the issue date of the invoice. terms : string Any terms to be included in the invoice. Maximum of 2048 characters. partial_payment : boolean Indicates whether the customer can make a partial payment on the invoice. Possible values:
  • true: The customer can make partial payments.
  • false (default): The customer cannot make partial payments.
amount : integer Amount to be paid using the invoice. Must be in the smallest unit of the currency. For example, if the amount to be received from the customer is ₹299.95, pass the value as 29995. amount_paid : integer Amount paid by the customer against the invoice. amount_due : integer The remaining amount to be paid by the customer for the issued invoice. currency : string The currency associated with the invoice. You should mandatorily pass this parameter if you are accepting international payments. description : string A brief description of the invoice. notes : object Any custom notes added to the invoice. Maximum of 2048 characters. short_url : string The short URL that is generated. This is the link that can be shared with the customer to receive payments. type : string Here, it is invoice. comment : string Any comments to be added in the invoice. Maximum of 2048 characters.

1.2 Send/Resend Notifications

The following endpoint sends/resends notifications with the short URL to the customer: /invoices/:id/notify_by/:medium
Curl

Path Parameters

id mandatory : string The unique identifier of the invoice linked to the registration link for which you want to send the notification. For example, inv_FHrfRupD2ouKIt. medium mandatory : string Determines through which medium you want to resend the notification. Possible values:
  • sms
  • email

Response Parameter

success : boolean Indicates whether the notifications were sent successfully. Possible values:
  • true: The notifications were successfully sent via SMS, email or both.
  • false: The notifications were not sent.
The following endpoint cancels a registration link.
Watch Out!You can only cancel a registration link that is in the issued state./invoices/:id/cancel
Curl

Path Parameter

id mandatory : string The unique identifier for the invoice linked to the registration link that you want to cancel. For example, inv_1Aa00000000001.

Response Parameters

id : string The unique identifier of the invoice.entity : string The entity that has been created. Here, it is invoice.receipt : string A user-entered unique identifier of the invoice.invoice_number : string Unique number you added for internal reference.customer_id : string The unique identifier of the customer. For example, cust_BMB3EwbqnqZ2EI.customer_details : Details of the customer.id : string The unique identifier associated with the customer to whom the invoice has been issued.name : string The customer’s name.email : string The customer’s email address.contact : integer The customer’s phone number.billing_address : string Details of the customer’s billing address.shipping_address : string Details of the customer’s shipping address.order_id : string The unique identifier of the order associated with the invoice.line_items : string Details of the line item that is billed in the invoice. Maximum of 50 line items are allowed.payment_id : string Unique identifier of a payment made against the invoice.status : string The status of the invoice. Possible values:
  • draft
  • issued
  • partially_paid
  • paid
  • cancelled
  • expired
  • deleted
expire_by : integer The Unix timestamp at which the invoice will expire.issued_at : integer The Unix timestamp at which the invoice was issued to the customer.paid_at : integer The Unix timestamp at which the payment was made.cancelled_at : integer The Unix timestamp at which the invoice was cancelled.expired_at : integer The Unix timestamp at which the invoice expired.sms_status : string The delivery status of the SMS notification for the invoice sent to the customer. Possible values:
  • pending
  • sent
email_status : string The delivery status of the email notification for the invoice sent to the customer. Possible values:
  • pending
  • sent
date : integer Timestamp, in Unix format, that indicates the issue date of the invoice.terms : string Any terms to be included in the invoice. Maximum of 2048 characters.partial_payment : boolean Indicates whether the customer can make a partial payment on the invoice. Possible values:
  • true: The customer can make partial payments.
  • false (default): The customer cannot make partial payments.
amount : integer Amount to be paid using the invoice. Must be in the smallest unit of the currency. For example, if the amount to be received from the customer is ₹299.95, pass the value as 29995.amount_paid : integer Amount paid by the customer against the invoice.amount_due : integer The remaining amount to be paid by the customer for the issued invoice.currency : string The currency associated with the invoice. You should mandatorily pass this parameter if you are accepting international payments.description : string A brief description of the invoice.notes : object Any custom notes added to the invoice. Maximum of 2048 characters.short_url : string The short URL that is generated. This is the link that can be shared with the customer to receive payments.type : string Here, it is invoice.comment : string Any comments to be added in the invoice. Maximum of 2048 characters