API Test keys

API Test keys

Perform Third-Party Validation Using Payment Links

POST
/v1/payment_links

Click to copy

Use this endpoint to comply with the regulatory guidelines in a manner such that the customers make payments only from their registered bank account. TPV stands for Third Party Validation. This feature is made available only to businesses operating in Mutual fund, Securities or Brokerage sectors.

You can perform third party validation using Payment Links by passing the options parameter along with the Create Payment Links API request. Check the

.

Feature Request

This is an on-demand feature. Please raise a request with our

to get this feature activated on your Razorpay account.

Is this page helpful?

Netbanking/UPI

1
Use this API endpoint for Netbanking
2
3
curl -X POST https://api.razorpay.com/v1/payment_links
4
-H 'content-type: application/json'
5
-d '{
6
"amount": 1000,
7
"currency": "INR",
8
"accept_partial": true,
9
"first_min_partial_amount": 100,
10
"reference_id": "#425",
11
"description": "Payment for policy no #23456",
12
"customer": {
13
"name": "Gaurav Kumar",
14
"contact": "+919000090000",
15
"email": "gaurav.kumar@example.com"
16
},
17
"notify": {
18
"sms": true,
19
"email": true
20
},
21
"reminder_enable": true,
22
"options": {
23
"order": {
24
"method": "netbanking",
25
"bank_account": {
26
"account_number": "04300040049999",
27
"name": "Gaurav Kumar",
28
"ifsc": "KKBK0000430"
29
}
30
}
31
}
32
}'
33
34
Use this API endpoint for UPI
35
36
curl -X POST https://api.razorpay.com/v1/payment_links
37
-H 'content-type: application/json'
38
-d '{
39
"amount": 1000,
40
"currency": "INR",
41
"accept_partial": true,
42
"first_min_partial_amount": 100,
43
"reference_id": "#42ds6",
44
"description": "Payment for policy no #23456",
45
"customer": {
46
"name": "Gaurav Kumar",
47
"contact": "+919000090000",
48
"email": "gaurav.kumar@example.com"
49
},
50
"notify": {
51
"sms": true,
52
"email": true
53
},
54
"reminder_enable": true,
55
"options": {
56
"order": {
57
"method": "upi",
58
"bank_account": {
59
"account_number": "04300040049999",
60
"name": "Gaurav Kumar",
61
"ifsc": "KKBK0000430"
62
}
63
}
64
}
65
}'
66
67
Use this API endpoint for for either Netbanking or UPI
68
69
curl -X POST https://api.razorpay.com/v1/payment_links
70
-H 'content-type: application/json'
71
-d '{
72
"amount": 1000,
73
"currency": "INR",
74
"accept_partial": true,
75
"first_min_partial_amount": 100,
76
"reference_id": "#427",
77
"description": "Payment for policy no #23456",
78
"customer": {
79
"name": "Gaurav Kumar",
80
"contact": "+919000090000",
81
"email": "gaurav.kumar@example.com"
82
},
83
"notify": {
84
"sms": true,
85
"email": true
86
},
87
"reminder_enable": true,
88
"options": {
89
"order": {
90
"bank_account": {
91
"account_number": "04300050077634",
92
"name": "Gaurav Kumar",
93
"ifsc": "KKBK0000430"
94
}
95
}
96
}
97
}'

Netbanking

UPI

Either

1
{
2
"accept_partial": true,
3
"amount": 1000,
4
"amount_paid": 0,
5
"callback_method": "",
6
"callback_url": "",
7
"cancelled_at": 0,
8
"created_at": 1596525334,
9
"currency": "INR",
10
"customer": {
11
"contact": "+919000090000",
12
"email": "gaurav.kumar@example.com",
13
"name": "Gaurav Kumar"
14
},
15
"deleted_at": 0,
16
"description": "Payment for policy no #23456",
17
"expire_by": 0,
18
"expired_at": 0,
19
"first_min_partial_amount": 100,
20
"id": "plink_FMbF1mewlEnf3Q",
21
"notes": null,
22
"notify": {
23
"email": true,
24
"sms": true
25
},
26
"payments": null,
27
"reference_id": "#42sd5",
28
"reminder_enable": true,
29
"reminders": [],
30
"short_url": "https://rzp.io/i/XxDxHPE",
31
"source": "",
32
"source_id": "",
33
"status": "created",
34
"updated_at": 1596525334,
35
"user_id": ""
36
}
Request Parameters
options

*

array

Options to configure the customer's bank account details in the Payment Link. Parent parameter under which the order child parameter must be passed.

Show child parameters (1)

Response Parameters
accept_partial
boolean

Indicates whether customers can make

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 ₹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.

Show child parameters (3)

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.

Show child parameters (2)

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.

Show child parameters (7)

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

for the Payment Link. Possible values:
  • 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.

Perform Third-Party Validation Using Payment Links

POST
/v1/payment_links

Click to copy

Use this endpoint to comply with the regulatory guidelines in a manner such that the customers make payments only from their registered bank account. TPV stands for Third Party Validation. This feature is made available only to businesses operating in Mutual fund, Securities or Brokerage sectors.

You can perform third party validation using Payment Links by passing the options parameter along with the Create Payment Links API request. Check the

.

Feature Request

This is an on-demand feature. Please raise a request with our

to get this feature activated on your Razorpay account.

Is this page helpful?

Request Parameters
options

*

array

Options to configure the customer's bank account details in the Payment Link. Parent parameter under which the order child parameter must be passed.

Show child parameters (1)

Response Parameters
accept_partial
boolean

Indicates whether customers can make

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 ₹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.

Show child parameters (3)

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.

Show child parameters (2)

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.

Show child parameters (7)

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

for the Payment Link. Possible values:
  • 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.

Netbanking/UPI

1
Use this API endpoint for Netbanking
2
3
curl -X POST https://api.razorpay.com/v1/payment_links
4
-H 'content-type: application/json'
5
-d '{
6
"amount": 1000,
7
"currency": "INR",
8
"accept_partial": true,
9
"first_min_partial_amount": 100,
10
"reference_id": "#425",
11
"description": "Payment for policy no #23456",
12
"customer": {
13
"name": "Gaurav Kumar",
14
"contact": "+919000090000",
15
"email": "gaurav.kumar@example.com"
16
},
17
"notify": {
18
"sms": true,
19
"email": true
20
},
21
"reminder_enable": true,
22
"options": {
23
"order": {
24
"method": "netbanking",
25
"bank_account": {
26
"account_number": "04300040049999",
27
"name": "Gaurav Kumar",
28
"ifsc": "KKBK0000430"
29
}
30
}
31
}
32
}'
33
34
Use this API endpoint for UPI
35
36
curl -X POST https://api.razorpay.com/v1/payment_links
37
-H 'content-type: application/json'
38
-d '{
39
"amount": 1000,
40
"currency": "INR",
41
"accept_partial": true,
42
"first_min_partial_amount": 100,
43
"reference_id": "#42ds6",
44
"description": "Payment for policy no #23456",
45
"customer": {
46
"name": "Gaurav Kumar",
47
"contact": "+919000090000",
48
"email": "gaurav.kumar@example.com"
49
},
50
"notify": {
51
"sms": true,
52
"email": true
53
},
54
"reminder_enable": true,
55
"options": {
56
"order": {
57
"method": "upi",
58
"bank_account": {
59
"account_number": "04300040049999",
60
"name": "Gaurav Kumar",
61
"ifsc": "KKBK0000430"
62
}
63
}
64
}
65
}'
66
67
Use this API endpoint for for either Netbanking or UPI
68
69
curl -X POST https://api.razorpay.com/v1/payment_links
70
-H 'content-type: application/json'
71
-d '{
72
"amount": 1000,
73
"currency": "INR",
74
"accept_partial": true,
75
"first_min_partial_amount": 100,
76
"reference_id": "#427",
77
"description": "Payment for policy no #23456",
78
"customer": {
79
"name": "Gaurav Kumar",
80
"contact": "+919000090000",
81
"email": "gaurav.kumar@example.com"
82
},
83
"notify": {
84
"sms": true,
85
"email": true
86
},
87
"reminder_enable": true,
88
"options": {
89
"order": {
90
"bank_account": {
91
"account_number": "04300050077634",
92
"name": "Gaurav Kumar",
93
"ifsc": "KKBK0000430"
94
}
95
}
96
}
97
}'

Netbanking

UPI

Either

1
{
2
"accept_partial": true,
3
"amount": 1000,
4
"amount_paid": 0,
5
"callback_method": "",
6
"callback_url": "",
7
"cancelled_at": 0,
8
"created_at": 1596525334,
9
"currency": "INR",
10
"customer": {
11
"contact": "+919000090000",
12
"email": "gaurav.kumar@example.com",
13
"name": "Gaurav Kumar"
14
},
15
"deleted_at": 0,
16
"description": "Payment for policy no #23456",
17
"expire_by": 0,
18
"expired_at": 0,
19
"first_min_partial_amount": 100,
20
"id": "plink_FMbF1mewlEnf3Q",
21
"notes": null,
22
"notify": {
23
"email": true,
24
"sms": true
25
},
26
"payments": null,
27
"reference_id": "#42sd5",
28
"reminder_enable": true,
29
"reminders": [],
30
"short_url": "https://rzp.io/i/XxDxHPE",
31
"source": "",
32
"source_id": "",
33
"status": "created",
34
"updated_at": 1596525334,
35
"user_id": ""
36
}