Use this API endpoint for HDFC Netbanking.
curl -u [YOUR_KEY_ID]:[YOUR_KEY_SECRET] \
-X POST https://api.razorpay.com/v1/payment_links/ \
-H 'Content-type: application/json' \
-d '{
"amount": 1000,
"currency": "MYR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"reminder_enable": true,
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "Pay using HDFC",
"instruments": [
{
"method": "netbanking",
"banks": [
"HDFC"
]
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
}'
Use this API endpoint for Reordered Payment Methods.
curl -u [YOUR_KEY_ID]:[YOUR_KEY_SECRET] \
-X POST https://api.razorpay.com/v1/payment_links/ \
-H 'Content-type: application/json' \
-d '{
"amount": 1000,
"currency": "MYR",
"reference_id": "TSsd3ty1e99uu869",
"description": "Payment for policy no #23y56",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "All Payment Methods",
"instruments": [
{
"method": "upi"
},
{
"method": "netbanking"
},
{
"method": "card",
"iins": [
"43558"
]
},
{
"method": "wallet"
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
}'
Use this API endpoint for HDFC Netbanking.
var instance = new Razorpay({ key_id: 'YOUR_KEY_ID', key_secret: 'YOUR_SECRET' })
instance.paymentLink.create({
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"reminder_enable": true,
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "Pay using HDFC",
"instruments": [
{
"method": "netbanking",
"banks": [
"HDFC"
]
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
})
Use this API endpoint for Reordered Payment Methods.
var instance = new Razorpay({ key_id: 'YOUR_KEY_ID', key_secret: 'YOUR_SECRET' })
instance.paymentLink.create({
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"reminder_enable": true,
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "All Payment Methods",
"instruments": [
{
"method": "upi"
},
{
"method": "netbanking"
},
{
"method": "card"
},
{
"method": "wallet"
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
})
Use this API endpoint for HDFC Netbanking.
$api = new Api($key_id, $secret);
$api->paymentLink->create(array('amount'=>1000,'currency'=>'INR','accept_partial'=>true,'first_min_partial_amount'=>100,'reference_id'=>'#21132','description'=>'Payment for policy no #23456','customer'=>array('name'=>'<name>','contact'=>'<phone>','email'=>'<email>',),'notify'=>array('sms'=>true,'email'=>true,),'reminder_enable'=>true,'options'=>array('checkout'=>array('config'=>array('display'=>array('blocks'=>array('banks'=>array('name'=>'Pay using HDFC','instruments'=>array(0=>array('method'=>'netbanking','banks'=>array(0=>'HDFC',),),),),),'sequence'=>array(0=>'block.banks',),'preferences'=>array('show_default_blocks'=>false,),),),),),));
Use this API endpoint for Reordered Payment Methods.
$api = new Api($key_id, $secret);
$api->paymentLink->create(array('amount'=>1000,'currency'=>'INR','accept_partial'=>true,'first_min_partial_amount'=>100,'reference_id'=>'#21132','description'=>'Payment for policy no #23456','customer'=>array('name'=>'<name>','contact'=>'<phone>','email'=>'<email>',),'notify'=>array('sms'=>true,'email'=>true,),'reminder_enable'=>true,'options'=>array('checkout'=>array('config'=>array('display'=>array('blocks'=>array('banks'=>array('name'=>'All Payment Methods','instruments'=>array(0=>array('method'=>'upi',),1=>array('method'=>'netbanking',),2=>array('method'=>'card',),3=>array('method'=>'wallet',),),),),'sequence'=>array(0=>'block.banks',),'preferences'=>array('show_default_blocks'=>false,),),),),),));
Use this API endpoint for HDFC Netbanking.
import ( razorpay "github.com/razorpay/razorpay-go" )
client := razorpay.NewClient("YOUR_KEY_ID", "YOUR_SECRET")
para_attr := map[string]interface{}{
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": map[string]interface{}{
"name": "<name>",
"contact": "<phone>",
"email": <email>",
},
"notify": map[string]interface{}{
"sms": true,
"email": true,
},
"reminder_enable": true,
"options": map[string]interface{}{
"checkout": map[string]interface{}{
"config": map[string]interface{}{
"display": map[string]interface{}{
"blocks": map[string]interface{}{
"banks": map[string]interface{}{
"name": "Pay using HDFC",
"instruments": []interface{}{
map[string]interface{}{
"method": "netbanking",
"banks": []string{
"HDFC",
},
},
},
},
},
},
"sequence": []string{
"block.banks",
},
"preferences": map[string]interface{}{
"show_default_blocks": false,
},
},
},
},
}
body, err := client.PaymentLink.Create(para_attr, nil)
Use this API endpoint for Reordered Payment Methods.
import ( razorpay "github.com/razorpay/razorpay-go" )
client := razorpay.NewClient("YOUR_KEY_ID", "YOUR_SECRET")
para_attr := map[string]interface{}{
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": map[string]interface{}{
"name": "<name>",
"contact": "<phone>",
"email": "<email>",
},
"notify": map[string]interface{}{
"sms": true,
"email": true,
},
"reminder_enable": true,
"options": map[string]interface{}{
"checkout": map[string]interface{}{
"config": map[string]interface{}{
"display": map[string]interface{}{
"blocks": map[string]interface{}{
"banks": map[string]interface{}{
"name": "Pay using HDFC",
"instruments": []interface{}{
map[string]interface{}{
"method": "netbanking",
},
map[string]interface{}{
"method": "upi",
},
map[string]interface{}{
"method": "wallet",
},
map[string]interface{}{
"method": "card",
},
},
},
},
},
"sequence": []string{
"block.banks",
},
"preferences": map[string]interface{}{
"show_default_blocks": false,
},
},
},
},
}
body, err := client.PaymentLink.Create(para_attr, nil)
Use this API endpoint for HDFC Netbanking.
import org.json.JSONObject;
import com.razorpay.Payment;
import com.razorpay.RazorpayClient;
import com.razorpay.RazorpayException;
RazorpayClient razorpay = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]");
JSONObject paymentLinkRequest = new JSONObject();
paymentLinkRequest.put("amount",1000);
paymentLinkRequest.put("currency","INR");
paymentLinkRequest.put("accept_partial",true);
paymentLinkRequest.put("first_min_partial_amount",100);
paymentLinkRequest.put("expire_by",1691097057);
paymentLinkRequest.put("reference_id","TS1989");
paymentLinkRequest.put("description","Payment for policy no #23456");
JSONObject customer = new JSONObject();
customer.put("name","<name>");
customer.put("contact","<phone>");
customer.put("email","<email>");
paymentLinkRequest.put("customer",customer);
JSONObject notify = new JSONObject();
notify.put("sms",true);
notify.put("email",true);
paymentLinkRequest.put("reminder_enable",true);
JSONObject checkout = new JSONObject();
JSONObject config = new JSONObject();
JSONObject display = new JSONObject();
List<Object> sequence = new ArrayList<>();
JSONObject preference = new JSONObject();
JSONObject banks = new JSONObject();
banks.put("name", "Pay using HDFC");
List<Object> instruments = new ArrayList<>();
JSONObject netbanking = new JSONObject();
netbanking.put("method","netbanking");
List<Object> bankDetails = new ArrayList<>();
bankDetails.add("HDFC");
netbanking.put("banks", bankDetails);
instruments.add(netbanking);
banks.put("instruments", instruments);
sequence.add("block.banks");
preference.put("show_default_blocks", false);
JSONObject displayObj = new JSONObject();
displayObj.put("blocks", banks);
displayObj.put("sequence",sequence);
displayObj.put("preferences", preference);
config.put("config", display);
display.put("display", displayObj);
checkout.put("checkout", config);
paymentLinkRequest.put("options",checkout);
PaymentLink payment = instance.paymentLink.create(paymentLinkRequest);
Use this API endpoint for Reordered Payment Methods.
import org.json.JSONObject;
import com.razorpay.Payment;
import com.razorpay.RazorpayClient;
import com.razorpay.RazorpayException;
RazorpayClient razorpay = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]");
JSONObject paymentLinkRequest = new JSONObject();
paymentLinkRequest.put("amount",1000);
paymentLinkRequest.put("currency","INR");
paymentLinkRequest.put("accept_partial",true);
paymentLinkRequest.put("first_min_partial_amount",100);
paymentLinkRequest.put("expire_by",1691097057);
paymentLinkRequest.put("reference_id","TS1989");
paymentLinkRequest.put("description","Payment for policy no #23456");
JSONObject customer = new JSONObject();
customer.put("name","<name>");
customer.put("contact","<phone>");
customer.put("email","<email>");
paymentLinkRequest.put("customer",customer);
JSONObject notify = new JSONObject();
notify.put("sms",true);
notify.put("email",true);
paymentLinkRequest.put("reminder_enable",true);
JSONObject checkout = new JSONObject();
JSONObject config = new JSONObject();
JSONObject display = new JSONObject();
List<Object> sequence = new ArrayList<>();
JSONObject preference = new JSONObject();
JSONObject banks = new JSONObject();
banks.put("name", "Pay using HDFC");
List<Object> instruments = new ArrayList<>();
JSONObject netbanking = new JSONObject();
netbanking.put("method","netbanking");
JSONObject upi = new JSONObject();
upi.put("method","upi");
JSONObject card = new JSONObject();
card.put("method","card");
JSONObject wallet = new JSONObject();
wallet.put("method","wallet");
instruments.add(netbanking);
instruments.add(upi);
instruments.add(card);
instruments.add(wallet);
banks.put("instruments", instruments);
sequence.add("block.banks");
preference.put("show_default_blocks", false);
JSONObject displayObj = new JSONObject();
displayObj.put("blocks", banks);
displayObj.put("sequence",sequence);
displayObj.put("preferences", preference);
config.put("config", display);
display.put("display", displayObj);
checkout.put("checkout", config);
paymentLinkRequest.put("options",checkout);
PaymentLink paymentlink = instance.paymentLink.create(paymentLinkRequest);
Use this API endpoint for HDFC Netbanking.
RazorpayClient client = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]");
Dictionary<string, object> paymentLinkRequest = new Dictionary<string, object>();
paymentLinkRequest.Add("amount", 1000);
paymentLinkRequest.Add("currency", "INR");
paymentLinkRequest.Add("accept_partial", true);
paymentLinkRequest.Add("first_min_partial_amount", 100);
paymentLinkRequest.Add("expire_by", 1691097057);
paymentLinkRequest.Add("reference_id", "TS1989");
paymentLinkRequest.Add("description", "Payment for policy no #23456");
Dictionary<string, object> customer = new Dictionary<string, object>();
customer.Add("name", "<name>");
customer.Add("contact", "<phone>");
customer.Add("email", "<email>");
paymentLinkRequest.Add("customer", customer);
Dictionary<string, object> notify = new Dictionary<string, object>();
notify.Add("sms", true);
notify.Add("email", true);
paymentLinkRequest.Add("reminder_enable", true);
Dictionary<string, object> checkout = new Dictionary<string, object>();
Dictionary<string, object> config = new Dictionary<string, object>();
Dictionary<string, object> display = new Dictionary<string, object>();
List<string> sequence = new List<string>();
Dictionary<string, object> preference = new Dictionary<string, object>();
Dictionary<string, object> banks = new Dictionary<string, object>();
banks.Add("name", "Pay using HDFC");
List<object> instruments = new List<object>();
Dictionary<string, object> bankingDetails = new Dictionary<string, object>();
bankingDetails.Add("method", "netbanking");
List<string> instrumentBanks = new List<string>();
instrumentBanks.Add("HDFC");
bankingDetails.Add("banks", instrumentBanks);
instruments.Add(bankingDetails);
banks.Add("instruments", instruments);
sequence.Add("block.banks");
preference.Add("show_default_blocks", false);
Dictionary<string, object> displayObj = new Dictionary<string, object>();
displayObj.Add("blocks", banks);
displayObj.Add("sequence", sequence);
displayObj.Add("preferences", preference);
config.Add("config", display);
display.Add("display", displayObj);
checkout.Add("checkout", config);
paymentLinkRequest.Add("options", checkout);
PaymentLink paymentlink = client.PaymentLink.Create(paymentLinkRequest);
Use this API endpoint for Reordered Payment Methods.
RazorpayClient client = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]");
Dictionary<string, object> paymentLinkRequest = new Dictionary<string, object>();
paymentLinkRequest.Add("amount", 1000);
paymentLinkRequest.Add("currency", "INR");
paymentLinkRequest.Add("accept_partial", true);
paymentLinkRequest.Add("first_min_partial_amount", 100);
paymentLinkRequest.Add("expire_by", 1691097057);
paymentLinkRequest.Add("reference_id", "TS1989");
paymentLinkRequest.Add("description", "Payment for policy no #23456");
Dictionary<string, object> customer = new Dictionary<string, object>();
customer.Add("name", "<name>");
customer.Add("contact", "<phone>");
customer.Add("email", "<email>");
paymentLinkRequest.Add("customer", customer);
Dictionary<string, object> notify = new Dictionary<string, object>();
notify.Add("sms", true);
notify.Add("email", true);
paymentLinkRequest.Add("reminder_enable", true);
Dictionary<string, object> checkout = new Dictionary<string, object>();
Dictionary<string, object> config = new Dictionary<string, object>();
Dictionary<string, object> display = new Dictionary<string, object>();
List<string> sequence = new List<string>();
Dictionary<string, object> preference = new Dictionary<string, object>();
Dictionary<string, object> banks = new Dictionary<string, object>();
banks.Add("name", "Pay using HDFC");
List<object> instruments = new List<object>();
Dictionary<string, object> netbanking = new Dictionary<string, object>();
netbanking.Add("method", "netbanking");
Dictionary<string, object> upi = new Dictionary<string, object>();
upi.Add("method", "upi");
Dictionary<string, object> card = new Dictionary<string, object>();
card.Add("method", "card");
Dictionary<string, object> wallet = new Dictionary<string, object>();
wallet.Add("method", "wallet");
instruments.Add(netbanking);
instruments.Add(upi);
instruments.Add(card);
instruments.Add(wallet);
banks.Add("instruments", instruments);
sequence.Add("block.banks");
preference.Add("show_default_blocks", false);
Dictionary<string, object> displayObj = new Dictionary<string, object>();
displayObj.Add("blocks", banks);
displayObj.Add("sequence", sequence);
displayObj.Add("preferences", preference);
config.Add("config", display);
display.Add("display", displayObj);
checkout.Add("checkout", config);
paymentLinkRequest.Add("options", checkout);
PaymentLink paymentlink = client.PaymentLink.Create(paymentLinkRequest);
Use this API endpoint for HDFC Netbanking.
Razorpay.setup('key_id', 'key_secret')
Razorpay.headers = {"Content-type" => "application/json"}
para_attr = {
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"reminder_enable": true,
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "Pay using HDFC",
"instruments": [
{
"method": "netbanking",
"banks": [
"HDFC"
]
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
}
Razorpay::PaymentLink.create(para_attr)
Use this API endpoint for Reordered Payment Methods.
Razorpay.setup('key_id', 'key_secret')
Razorpay.headers = {"Content-type" => "application/json"}
para_attr = {
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"reminder_enable": true,
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "All Payment Methods",
"instruments": [
{
"method": "upi"
},
{
"method": "netbanking"
},
{
"method": "card"
},
{
"method": "wallet"
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
}
Razorpay::PaymentLink.create(para_attr)
Use this API endpoint for HDFC Netbanking.
import razorpay
client = razorpay.Client(auth=("YOUR_ID", "YOUR_SECRET"))
client.payment_link.create({
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"reminder_enable": true,
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "Pay using HDFC",
"instruments": [
{
"method": "netbanking",
"banks": [
"HDFC"
]
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
})
Use this API endpoint for Reordered Payment Methods.
import razorpay
client = razorpay.Client(auth=("YOUR_ID", "YOUR_SECRET"))
client.payment_link.create({
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"reminder_enable": true,
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "All Payment Methods",
"instruments": [
{
"method": "upi"
},
{
"method": "netbanking"
},
{
"method": "card"
},
{
"method": "wallet"
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
})
razorpay payment-links create \
--amount 1000 \
--currency INR \
--checkout-config '{"display":{"blocks":{"banks":{"name":"Pay using Net Banking","instruments":[{"method":"netbanking"}]}},"sequence":["block.banks"],"preferences":{"show_default_blocks":false}}}'
{
"accept_partial": true,
"amount": 1000,
"amount_paid": 0,
"callback_method": "",
"callback_url": "",
"cancelled_at": 0,
"created_at": 1596188765,
"currency": "MYR",
"customer": {
"contact": "<phone>",
"email": "<email>",
"name": "<name>"
},
"deleted_at": 0,
"description": "Payment for policy no #23456",
"expire_by": 0,
"expired_at": 0,
"first_min_partial_amount": 100,
"id": "plink_FL3fYRliPWPv9e",
"notes": null,
"notify": {
"email": true,
"sms": true
},
"payments": null,
"reference_id": "#21132",
"reminder_enable": true,
"reminders": [],
"short_url": "https://rzp.io/i/0Uw9Kow",
"source": "",
"source_id": "",
"status": "created",
"updated_at": 1596188765,
"user_id": ""
}
{
"accept_partial": true,
"amount": 1000,
"amount_paid": 0,
"callback_method": "",
"callback_url": "",
"cancelled_at": 0,
"created_at": 1596188911,
"currency": "MYR",
"customer": {
"contact": "<phone>",
"email": "<email>",
"name": "<name>"
},
"deleted_at": 0,
"description": "Payment for policy no #23456",
"expire_by": 0,
"expired_at": 0,
"first_min_partial_amount": 100,
"id": "plink_FL3i7DFZwKOaCu",
"notes": null,
"notify": {
"email": true,
"sms": true
},
"payments": null,
"reference_id": "#21132",
"reminder_enable": true,
"reminders": [],
"short_url": "https://rzp.io/i/l3IB1Sc",
"source": "",
"source_id": "",
"status": "created",
"updated_at": 1596188911,
"user_id": ""
}
{
"error": {
"code": "BAD_REQUEST_ERROR",
"description": "The api key provided is invalid",
"source": "NA",
"step": "NA",
"reason": "NA",
"metadata": {}
}
}
{
"amount": 1000,
"amount_paid": 0,
"callback_method": "",
"callback_url": "",
"cancelled_at": 0,
"created_at": 1596188765,
"currency": "MYR",
"customer": {
"contact": "<phone>",
"email": "<email>",
"name": "<name>"
},
"deleted_at": 0,
"description": "Payment for policy no #23456",
"expire_by": 0,
"expired_at": 0,
"id": "plink_FL3fYRliPWPv9e",
"notes": null,
"notify": {
"email": true,
"sms": true
},
"payments": null,
"reference_id": "#21132",
"reminder_enable": true,
"reminders": [],
"short_url": "https://rzp.io/i/0Uw9Kow",
"source": "",
"source_id": "",
"status": "created",
"updated_at": 1596188765,
"user_id": ""
}
{
"amount": 1000,
"amount_paid": 0,
"callback_method": "",
"callback_url": "",
"cancelled_at": 0,
"created_at": 1596188911,
"currency": "MYR",
"customer": {
"contact": "<phone>",
"email": "<email>",
"name": "<name>"
},
"deleted_at": 0,
"description": "Payment for policy no #23456",
"expire_by": 0,
"expired_at": 0,
"id": "plink_FL3i7DFZwKOaCu",
"notes": null,
"notify": {
"email": true,
"sms": true
},
"payments": null,
"reference_id": "#21132",
"reminder_enable": true,
"reminders": [],
"short_url": "https://rzp.io/i/l3IB1Sc",
"source": "",
"source_id": "",
"status": "created",
"updated_at": 1596188911,
"user_id": ""
}
{
"error": {
"code": "BAD_REQUEST_ERROR",
"description": "The api key provided is invalid",
"source": "NA",
"step": "NA",
"reason": "NA",
"metadata": {}
}
}
Customise Payment Methods - Options and Config Parameters
Customise the payment methods available to customers while using Payment Links using Razorpay APIs.
Use this API endpoint for HDFC Netbanking.
curl -u [YOUR_KEY_ID]:[YOUR_KEY_SECRET] \
-X POST https://api.razorpay.com/v1/payment_links/ \
-H 'Content-type: application/json' \
-d '{
"amount": 1000,
"currency": "MYR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"reminder_enable": true,
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "Pay using HDFC",
"instruments": [
{
"method": "netbanking",
"banks": [
"HDFC"
]
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
}'
Use this API endpoint for Reordered Payment Methods.
curl -u [YOUR_KEY_ID]:[YOUR_KEY_SECRET] \
-X POST https://api.razorpay.com/v1/payment_links/ \
-H 'Content-type: application/json' \
-d '{
"amount": 1000,
"currency": "MYR",
"reference_id": "TSsd3ty1e99uu869",
"description": "Payment for policy no #23y56",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "All Payment Methods",
"instruments": [
{
"method": "upi"
},
{
"method": "netbanking"
},
{
"method": "card",
"iins": [
"43558"
]
},
{
"method": "wallet"
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
}'
Use this API endpoint for HDFC Netbanking.
var instance = new Razorpay({ key_id: 'YOUR_KEY_ID', key_secret: 'YOUR_SECRET' })
instance.paymentLink.create({
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"reminder_enable": true,
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "Pay using HDFC",
"instruments": [
{
"method": "netbanking",
"banks": [
"HDFC"
]
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
})
Use this API endpoint for Reordered Payment Methods.
var instance = new Razorpay({ key_id: 'YOUR_KEY_ID', key_secret: 'YOUR_SECRET' })
instance.paymentLink.create({
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"reminder_enable": true,
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "All Payment Methods",
"instruments": [
{
"method": "upi"
},
{
"method": "netbanking"
},
{
"method": "card"
},
{
"method": "wallet"
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
})
Use this API endpoint for HDFC Netbanking.
$api = new Api($key_id, $secret);
$api->paymentLink->create(array('amount'=>1000,'currency'=>'INR','accept_partial'=>true,'first_min_partial_amount'=>100,'reference_id'=>'#21132','description'=>'Payment for policy no #23456','customer'=>array('name'=>'<name>','contact'=>'<phone>','email'=>'<email>',),'notify'=>array('sms'=>true,'email'=>true,),'reminder_enable'=>true,'options'=>array('checkout'=>array('config'=>array('display'=>array('blocks'=>array('banks'=>array('name'=>'Pay using HDFC','instruments'=>array(0=>array('method'=>'netbanking','banks'=>array(0=>'HDFC',),),),),),'sequence'=>array(0=>'block.banks',),'preferences'=>array('show_default_blocks'=>false,),),),),),));
Use this API endpoint for Reordered Payment Methods.
$api = new Api($key_id, $secret);
$api->paymentLink->create(array('amount'=>1000,'currency'=>'INR','accept_partial'=>true,'first_min_partial_amount'=>100,'reference_id'=>'#21132','description'=>'Payment for policy no #23456','customer'=>array('name'=>'<name>','contact'=>'<phone>','email'=>'<email>',),'notify'=>array('sms'=>true,'email'=>true,),'reminder_enable'=>true,'options'=>array('checkout'=>array('config'=>array('display'=>array('blocks'=>array('banks'=>array('name'=>'All Payment Methods','instruments'=>array(0=>array('method'=>'upi',),1=>array('method'=>'netbanking',),2=>array('method'=>'card',),3=>array('method'=>'wallet',),),),),'sequence'=>array(0=>'block.banks',),'preferences'=>array('show_default_blocks'=>false,),),),),),));
Use this API endpoint for HDFC Netbanking.
import ( razorpay "github.com/razorpay/razorpay-go" )
client := razorpay.NewClient("YOUR_KEY_ID", "YOUR_SECRET")
para_attr := map[string]interface{}{
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": map[string]interface{}{
"name": "<name>",
"contact": "<phone>",
"email": <email>",
},
"notify": map[string]interface{}{
"sms": true,
"email": true,
},
"reminder_enable": true,
"options": map[string]interface{}{
"checkout": map[string]interface{}{
"config": map[string]interface{}{
"display": map[string]interface{}{
"blocks": map[string]interface{}{
"banks": map[string]interface{}{
"name": "Pay using HDFC",
"instruments": []interface{}{
map[string]interface{}{
"method": "netbanking",
"banks": []string{
"HDFC",
},
},
},
},
},
},
"sequence": []string{
"block.banks",
},
"preferences": map[string]interface{}{
"show_default_blocks": false,
},
},
},
},
}
body, err := client.PaymentLink.Create(para_attr, nil)
Use this API endpoint for Reordered Payment Methods.
import ( razorpay "github.com/razorpay/razorpay-go" )
client := razorpay.NewClient("YOUR_KEY_ID", "YOUR_SECRET")
para_attr := map[string]interface{}{
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": map[string]interface{}{
"name": "<name>",
"contact": "<phone>",
"email": "<email>",
},
"notify": map[string]interface{}{
"sms": true,
"email": true,
},
"reminder_enable": true,
"options": map[string]interface{}{
"checkout": map[string]interface{}{
"config": map[string]interface{}{
"display": map[string]interface{}{
"blocks": map[string]interface{}{
"banks": map[string]interface{}{
"name": "Pay using HDFC",
"instruments": []interface{}{
map[string]interface{}{
"method": "netbanking",
},
map[string]interface{}{
"method": "upi",
},
map[string]interface{}{
"method": "wallet",
},
map[string]interface{}{
"method": "card",
},
},
},
},
},
"sequence": []string{
"block.banks",
},
"preferences": map[string]interface{}{
"show_default_blocks": false,
},
},
},
},
}
body, err := client.PaymentLink.Create(para_attr, nil)
Use this API endpoint for HDFC Netbanking.
import org.json.JSONObject;
import com.razorpay.Payment;
import com.razorpay.RazorpayClient;
import com.razorpay.RazorpayException;
RazorpayClient razorpay = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]");
JSONObject paymentLinkRequest = new JSONObject();
paymentLinkRequest.put("amount",1000);
paymentLinkRequest.put("currency","INR");
paymentLinkRequest.put("accept_partial",true);
paymentLinkRequest.put("first_min_partial_amount",100);
paymentLinkRequest.put("expire_by",1691097057);
paymentLinkRequest.put("reference_id","TS1989");
paymentLinkRequest.put("description","Payment for policy no #23456");
JSONObject customer = new JSONObject();
customer.put("name","<name>");
customer.put("contact","<phone>");
customer.put("email","<email>");
paymentLinkRequest.put("customer",customer);
JSONObject notify = new JSONObject();
notify.put("sms",true);
notify.put("email",true);
paymentLinkRequest.put("reminder_enable",true);
JSONObject checkout = new JSONObject();
JSONObject config = new JSONObject();
JSONObject display = new JSONObject();
List<Object> sequence = new ArrayList<>();
JSONObject preference = new JSONObject();
JSONObject banks = new JSONObject();
banks.put("name", "Pay using HDFC");
List<Object> instruments = new ArrayList<>();
JSONObject netbanking = new JSONObject();
netbanking.put("method","netbanking");
List<Object> bankDetails = new ArrayList<>();
bankDetails.add("HDFC");
netbanking.put("banks", bankDetails);
instruments.add(netbanking);
banks.put("instruments", instruments);
sequence.add("block.banks");
preference.put("show_default_blocks", false);
JSONObject displayObj = new JSONObject();
displayObj.put("blocks", banks);
displayObj.put("sequence",sequence);
displayObj.put("preferences", preference);
config.put("config", display);
display.put("display", displayObj);
checkout.put("checkout", config);
paymentLinkRequest.put("options",checkout);
PaymentLink payment = instance.paymentLink.create(paymentLinkRequest);
Use this API endpoint for Reordered Payment Methods.
import org.json.JSONObject;
import com.razorpay.Payment;
import com.razorpay.RazorpayClient;
import com.razorpay.RazorpayException;
RazorpayClient razorpay = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]");
JSONObject paymentLinkRequest = new JSONObject();
paymentLinkRequest.put("amount",1000);
paymentLinkRequest.put("currency","INR");
paymentLinkRequest.put("accept_partial",true);
paymentLinkRequest.put("first_min_partial_amount",100);
paymentLinkRequest.put("expire_by",1691097057);
paymentLinkRequest.put("reference_id","TS1989");
paymentLinkRequest.put("description","Payment for policy no #23456");
JSONObject customer = new JSONObject();
customer.put("name","<name>");
customer.put("contact","<phone>");
customer.put("email","<email>");
paymentLinkRequest.put("customer",customer);
JSONObject notify = new JSONObject();
notify.put("sms",true);
notify.put("email",true);
paymentLinkRequest.put("reminder_enable",true);
JSONObject checkout = new JSONObject();
JSONObject config = new JSONObject();
JSONObject display = new JSONObject();
List<Object> sequence = new ArrayList<>();
JSONObject preference = new JSONObject();
JSONObject banks = new JSONObject();
banks.put("name", "Pay using HDFC");
List<Object> instruments = new ArrayList<>();
JSONObject netbanking = new JSONObject();
netbanking.put("method","netbanking");
JSONObject upi = new JSONObject();
upi.put("method","upi");
JSONObject card = new JSONObject();
card.put("method","card");
JSONObject wallet = new JSONObject();
wallet.put("method","wallet");
instruments.add(netbanking);
instruments.add(upi);
instruments.add(card);
instruments.add(wallet);
banks.put("instruments", instruments);
sequence.add("block.banks");
preference.put("show_default_blocks", false);
JSONObject displayObj = new JSONObject();
displayObj.put("blocks", banks);
displayObj.put("sequence",sequence);
displayObj.put("preferences", preference);
config.put("config", display);
display.put("display", displayObj);
checkout.put("checkout", config);
paymentLinkRequest.put("options",checkout);
PaymentLink paymentlink = instance.paymentLink.create(paymentLinkRequest);
Use this API endpoint for HDFC Netbanking.
RazorpayClient client = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]");
Dictionary<string, object> paymentLinkRequest = new Dictionary<string, object>();
paymentLinkRequest.Add("amount", 1000);
paymentLinkRequest.Add("currency", "INR");
paymentLinkRequest.Add("accept_partial", true);
paymentLinkRequest.Add("first_min_partial_amount", 100);
paymentLinkRequest.Add("expire_by", 1691097057);
paymentLinkRequest.Add("reference_id", "TS1989");
paymentLinkRequest.Add("description", "Payment for policy no #23456");
Dictionary<string, object> customer = new Dictionary<string, object>();
customer.Add("name", "<name>");
customer.Add("contact", "<phone>");
customer.Add("email", "<email>");
paymentLinkRequest.Add("customer", customer);
Dictionary<string, object> notify = new Dictionary<string, object>();
notify.Add("sms", true);
notify.Add("email", true);
paymentLinkRequest.Add("reminder_enable", true);
Dictionary<string, object> checkout = new Dictionary<string, object>();
Dictionary<string, object> config = new Dictionary<string, object>();
Dictionary<string, object> display = new Dictionary<string, object>();
List<string> sequence = new List<string>();
Dictionary<string, object> preference = new Dictionary<string, object>();
Dictionary<string, object> banks = new Dictionary<string, object>();
banks.Add("name", "Pay using HDFC");
List<object> instruments = new List<object>();
Dictionary<string, object> bankingDetails = new Dictionary<string, object>();
bankingDetails.Add("method", "netbanking");
List<string> instrumentBanks = new List<string>();
instrumentBanks.Add("HDFC");
bankingDetails.Add("banks", instrumentBanks);
instruments.Add(bankingDetails);
banks.Add("instruments", instruments);
sequence.Add("block.banks");
preference.Add("show_default_blocks", false);
Dictionary<string, object> displayObj = new Dictionary<string, object>();
displayObj.Add("blocks", banks);
displayObj.Add("sequence", sequence);
displayObj.Add("preferences", preference);
config.Add("config", display);
display.Add("display", displayObj);
checkout.Add("checkout", config);
paymentLinkRequest.Add("options", checkout);
PaymentLink paymentlink = client.PaymentLink.Create(paymentLinkRequest);
Use this API endpoint for Reordered Payment Methods.
RazorpayClient client = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]");
Dictionary<string, object> paymentLinkRequest = new Dictionary<string, object>();
paymentLinkRequest.Add("amount", 1000);
paymentLinkRequest.Add("currency", "INR");
paymentLinkRequest.Add("accept_partial", true);
paymentLinkRequest.Add("first_min_partial_amount", 100);
paymentLinkRequest.Add("expire_by", 1691097057);
paymentLinkRequest.Add("reference_id", "TS1989");
paymentLinkRequest.Add("description", "Payment for policy no #23456");
Dictionary<string, object> customer = new Dictionary<string, object>();
customer.Add("name", "<name>");
customer.Add("contact", "<phone>");
customer.Add("email", "<email>");
paymentLinkRequest.Add("customer", customer);
Dictionary<string, object> notify = new Dictionary<string, object>();
notify.Add("sms", true);
notify.Add("email", true);
paymentLinkRequest.Add("reminder_enable", true);
Dictionary<string, object> checkout = new Dictionary<string, object>();
Dictionary<string, object> config = new Dictionary<string, object>();
Dictionary<string, object> display = new Dictionary<string, object>();
List<string> sequence = new List<string>();
Dictionary<string, object> preference = new Dictionary<string, object>();
Dictionary<string, object> banks = new Dictionary<string, object>();
banks.Add("name", "Pay using HDFC");
List<object> instruments = new List<object>();
Dictionary<string, object> netbanking = new Dictionary<string, object>();
netbanking.Add("method", "netbanking");
Dictionary<string, object> upi = new Dictionary<string, object>();
upi.Add("method", "upi");
Dictionary<string, object> card = new Dictionary<string, object>();
card.Add("method", "card");
Dictionary<string, object> wallet = new Dictionary<string, object>();
wallet.Add("method", "wallet");
instruments.Add(netbanking);
instruments.Add(upi);
instruments.Add(card);
instruments.Add(wallet);
banks.Add("instruments", instruments);
sequence.Add("block.banks");
preference.Add("show_default_blocks", false);
Dictionary<string, object> displayObj = new Dictionary<string, object>();
displayObj.Add("blocks", banks);
displayObj.Add("sequence", sequence);
displayObj.Add("preferences", preference);
config.Add("config", display);
display.Add("display", displayObj);
checkout.Add("checkout", config);
paymentLinkRequest.Add("options", checkout);
PaymentLink paymentlink = client.PaymentLink.Create(paymentLinkRequest);
Use this API endpoint for HDFC Netbanking.
Razorpay.setup('key_id', 'key_secret')
Razorpay.headers = {"Content-type" => "application/json"}
para_attr = {
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"reminder_enable": true,
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "Pay using HDFC",
"instruments": [
{
"method": "netbanking",
"banks": [
"HDFC"
]
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
}
Razorpay::PaymentLink.create(para_attr)
Use this API endpoint for Reordered Payment Methods.
Razorpay.setup('key_id', 'key_secret')
Razorpay.headers = {"Content-type" => "application/json"}
para_attr = {
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"reminder_enable": true,
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "All Payment Methods",
"instruments": [
{
"method": "upi"
},
{
"method": "netbanking"
},
{
"method": "card"
},
{
"method": "wallet"
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
}
Razorpay::PaymentLink.create(para_attr)
Use this API endpoint for HDFC Netbanking.
import razorpay
client = razorpay.Client(auth=("YOUR_ID", "YOUR_SECRET"))
client.payment_link.create({
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"reminder_enable": true,
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "Pay using HDFC",
"instruments": [
{
"method": "netbanking",
"banks": [
"HDFC"
]
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
})
Use this API endpoint for Reordered Payment Methods.
import razorpay
client = razorpay.Client(auth=("YOUR_ID", "YOUR_SECRET"))
client.payment_link.create({
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"reminder_enable": true,
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "All Payment Methods",
"instruments": [
{
"method": "upi"
},
{
"method": "netbanking"
},
{
"method": "card"
},
{
"method": "wallet"
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
})
razorpay payment-links create \
--amount 1000 \
--currency INR \
--checkout-config '{"display":{"blocks":{"banks":{"name":"Pay using Net Banking","instruments":[{"method":"netbanking"}]}},"sequence":["block.banks"],"preferences":{"show_default_blocks":false}}}'
{
"accept_partial": true,
"amount": 1000,
"amount_paid": 0,
"callback_method": "",
"callback_url": "",
"cancelled_at": 0,
"created_at": 1596188765,
"currency": "MYR",
"customer": {
"contact": "<phone>",
"email": "<email>",
"name": "<name>"
},
"deleted_at": 0,
"description": "Payment for policy no #23456",
"expire_by": 0,
"expired_at": 0,
"first_min_partial_amount": 100,
"id": "plink_FL3fYRliPWPv9e",
"notes": null,
"notify": {
"email": true,
"sms": true
},
"payments": null,
"reference_id": "#21132",
"reminder_enable": true,
"reminders": [],
"short_url": "https://rzp.io/i/0Uw9Kow",
"source": "",
"source_id": "",
"status": "created",
"updated_at": 1596188765,
"user_id": ""
}
{
"accept_partial": true,
"amount": 1000,
"amount_paid": 0,
"callback_method": "",
"callback_url": "",
"cancelled_at": 0,
"created_at": 1596188911,
"currency": "MYR",
"customer": {
"contact": "<phone>",
"email": "<email>",
"name": "<name>"
},
"deleted_at": 0,
"description": "Payment for policy no #23456",
"expire_by": 0,
"expired_at": 0,
"first_min_partial_amount": 100,
"id": "plink_FL3i7DFZwKOaCu",
"notes": null,
"notify": {
"email": true,
"sms": true
},
"payments": null,
"reference_id": "#21132",
"reminder_enable": true,
"reminders": [],
"short_url": "https://rzp.io/i/l3IB1Sc",
"source": "",
"source_id": "",
"status": "created",
"updated_at": 1596188911,
"user_id": ""
}
{
"error": {
"code": "BAD_REQUEST_ERROR",
"description": "The api key provided is invalid",
"source": "NA",
"step": "NA",
"reason": "NA",
"metadata": {}
}
}
{
"amount": 1000,
"amount_paid": 0,
"callback_method": "",
"callback_url": "",
"cancelled_at": 0,
"created_at": 1596188765,
"currency": "MYR",
"customer": {
"contact": "<phone>",
"email": "<email>",
"name": "<name>"
},
"deleted_at": 0,
"description": "Payment for policy no #23456",
"expire_by": 0,
"expired_at": 0,
"id": "plink_FL3fYRliPWPv9e",
"notes": null,
"notify": {
"email": true,
"sms": true
},
"payments": null,
"reference_id": "#21132",
"reminder_enable": true,
"reminders": [],
"short_url": "https://rzp.io/i/0Uw9Kow",
"source": "",
"source_id": "",
"status": "created",
"updated_at": 1596188765,
"user_id": ""
}
{
"amount": 1000,
"amount_paid": 0,
"callback_method": "",
"callback_url": "",
"cancelled_at": 0,
"created_at": 1596188911,
"currency": "MYR",
"customer": {
"contact": "<phone>",
"email": "<email>",
"name": "<name>"
},
"deleted_at": 0,
"description": "Payment for policy no #23456",
"expire_by": 0,
"expired_at": 0,
"id": "plink_FL3i7DFZwKOaCu",
"notes": null,
"notify": {
"email": true,
"sms": true
},
"payments": null,
"reference_id": "#21132",
"reminder_enable": true,
"reminders": [],
"short_url": "https://rzp.io/i/l3IB1Sc",
"source": "",
"source_id": "",
"status": "created",
"updated_at": 1596188911,
"user_id": ""
}
{
"error": {
"code": "BAD_REQUEST_ERROR",
"description": "The api key provided is invalid",
"source": "NA",
"step": "NA",
"reason": "NA",
"metadata": {}
}
}
-
You can use the
optionsandconfigparameters for greater control over display of specific payment methods or instruments on the Checkout section of Payment Link. - For example, you can remove a certain bank from Netbanking or highlight a specific wallet.
-
These parameters must be passed along with the
optionsandcheckoutparameters mentioned in the Request Parameters section below, along with the Create Payment Link API parameters.
Use Cases
Depending on the use cases that you might have, Razorpay allows you to create configuration of the payment methods:Highlighting certain payment instruments on the Checkout
Highlighting certain payment instruments on the Checkout
Restricting a particular card or banking network, issuer, BIN and card type, different properties of the card, to accept payments.
Restricting a particular card or banking network, issuer, BIN and card type, different properties of the card, to accept payments.
Removing a certain payment method or instrument
Removing a certain payment method or instrument
Reordering of payment methods on the Checkout
Reordering of payment methods on the Checkout
Grouping of payment instruments
Grouping of payment instruments
Use this API endpoint for HDFC Netbanking.
curl -u [YOUR_KEY_ID]:[YOUR_KEY_SECRET] \
-X POST https://api.razorpay.com/v1/payment_links/ \
-H 'Content-type: application/json' \
-d '{
"amount": 1000,
"currency": "MYR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"reminder_enable": true,
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "Pay using HDFC",
"instruments": [
{
"method": "netbanking",
"banks": [
"HDFC"
]
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
}'
Use this API endpoint for Reordered Payment Methods.
curl -u [YOUR_KEY_ID]:[YOUR_KEY_SECRET] \
-X POST https://api.razorpay.com/v1/payment_links/ \
-H 'Content-type: application/json' \
-d '{
"amount": 1000,
"currency": "MYR",
"reference_id": "TSsd3ty1e99uu869",
"description": "Payment for policy no #23y56",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "All Payment Methods",
"instruments": [
{
"method": "upi"
},
{
"method": "netbanking"
},
{
"method": "card",
"iins": [
"43558"
]
},
{
"method": "wallet"
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
}'
Use this API endpoint for HDFC Netbanking.
var instance = new Razorpay({ key_id: 'YOUR_KEY_ID', key_secret: 'YOUR_SECRET' })
instance.paymentLink.create({
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"reminder_enable": true,
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "Pay using HDFC",
"instruments": [
{
"method": "netbanking",
"banks": [
"HDFC"
]
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
})
Use this API endpoint for Reordered Payment Methods.
var instance = new Razorpay({ key_id: 'YOUR_KEY_ID', key_secret: 'YOUR_SECRET' })
instance.paymentLink.create({
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"reminder_enable": true,
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "All Payment Methods",
"instruments": [
{
"method": "upi"
},
{
"method": "netbanking"
},
{
"method": "card"
},
{
"method": "wallet"
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
})
Use this API endpoint for HDFC Netbanking.
$api = new Api($key_id, $secret);
$api->paymentLink->create(array('amount'=>1000,'currency'=>'INR','accept_partial'=>true,'first_min_partial_amount'=>100,'reference_id'=>'#21132','description'=>'Payment for policy no #23456','customer'=>array('name'=>'<name>','contact'=>'<phone>','email'=>'<email>',),'notify'=>array('sms'=>true,'email'=>true,),'reminder_enable'=>true,'options'=>array('checkout'=>array('config'=>array('display'=>array('blocks'=>array('banks'=>array('name'=>'Pay using HDFC','instruments'=>array(0=>array('method'=>'netbanking','banks'=>array(0=>'HDFC',),),),),),'sequence'=>array(0=>'block.banks',),'preferences'=>array('show_default_blocks'=>false,),),),),),));
Use this API endpoint for Reordered Payment Methods.
$api = new Api($key_id, $secret);
$api->paymentLink->create(array('amount'=>1000,'currency'=>'INR','accept_partial'=>true,'first_min_partial_amount'=>100,'reference_id'=>'#21132','description'=>'Payment for policy no #23456','customer'=>array('name'=>'<name>','contact'=>'<phone>','email'=>'<email>',),'notify'=>array('sms'=>true,'email'=>true,),'reminder_enable'=>true,'options'=>array('checkout'=>array('config'=>array('display'=>array('blocks'=>array('banks'=>array('name'=>'All Payment Methods','instruments'=>array(0=>array('method'=>'upi',),1=>array('method'=>'netbanking',),2=>array('method'=>'card',),3=>array('method'=>'wallet',),),),),'sequence'=>array(0=>'block.banks',),'preferences'=>array('show_default_blocks'=>false,),),),),),));
Use this API endpoint for HDFC Netbanking.
import ( razorpay "github.com/razorpay/razorpay-go" )
client := razorpay.NewClient("YOUR_KEY_ID", "YOUR_SECRET")
para_attr := map[string]interface{}{
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": map[string]interface{}{
"name": "<name>",
"contact": "<phone>",
"email": <email>",
},
"notify": map[string]interface{}{
"sms": true,
"email": true,
},
"reminder_enable": true,
"options": map[string]interface{}{
"checkout": map[string]interface{}{
"config": map[string]interface{}{
"display": map[string]interface{}{
"blocks": map[string]interface{}{
"banks": map[string]interface{}{
"name": "Pay using HDFC",
"instruments": []interface{}{
map[string]interface{}{
"method": "netbanking",
"banks": []string{
"HDFC",
},
},
},
},
},
},
"sequence": []string{
"block.banks",
},
"preferences": map[string]interface{}{
"show_default_blocks": false,
},
},
},
},
}
body, err := client.PaymentLink.Create(para_attr, nil)
Use this API endpoint for Reordered Payment Methods.
import ( razorpay "github.com/razorpay/razorpay-go" )
client := razorpay.NewClient("YOUR_KEY_ID", "YOUR_SECRET")
para_attr := map[string]interface{}{
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": map[string]interface{}{
"name": "<name>",
"contact": "<phone>",
"email": "<email>",
},
"notify": map[string]interface{}{
"sms": true,
"email": true,
},
"reminder_enable": true,
"options": map[string]interface{}{
"checkout": map[string]interface{}{
"config": map[string]interface{}{
"display": map[string]interface{}{
"blocks": map[string]interface{}{
"banks": map[string]interface{}{
"name": "Pay using HDFC",
"instruments": []interface{}{
map[string]interface{}{
"method": "netbanking",
},
map[string]interface{}{
"method": "upi",
},
map[string]interface{}{
"method": "wallet",
},
map[string]interface{}{
"method": "card",
},
},
},
},
},
"sequence": []string{
"block.banks",
},
"preferences": map[string]interface{}{
"show_default_blocks": false,
},
},
},
},
}
body, err := client.PaymentLink.Create(para_attr, nil)
Use this API endpoint for HDFC Netbanking.
import org.json.JSONObject;
import com.razorpay.Payment;
import com.razorpay.RazorpayClient;
import com.razorpay.RazorpayException;
RazorpayClient razorpay = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]");
JSONObject paymentLinkRequest = new JSONObject();
paymentLinkRequest.put("amount",1000);
paymentLinkRequest.put("currency","INR");
paymentLinkRequest.put("accept_partial",true);
paymentLinkRequest.put("first_min_partial_amount",100);
paymentLinkRequest.put("expire_by",1691097057);
paymentLinkRequest.put("reference_id","TS1989");
paymentLinkRequest.put("description","Payment for policy no #23456");
JSONObject customer = new JSONObject();
customer.put("name","<name>");
customer.put("contact","<phone>");
customer.put("email","<email>");
paymentLinkRequest.put("customer",customer);
JSONObject notify = new JSONObject();
notify.put("sms",true);
notify.put("email",true);
paymentLinkRequest.put("reminder_enable",true);
JSONObject checkout = new JSONObject();
JSONObject config = new JSONObject();
JSONObject display = new JSONObject();
List<Object> sequence = new ArrayList<>();
JSONObject preference = new JSONObject();
JSONObject banks = new JSONObject();
banks.put("name", "Pay using HDFC");
List<Object> instruments = new ArrayList<>();
JSONObject netbanking = new JSONObject();
netbanking.put("method","netbanking");
List<Object> bankDetails = new ArrayList<>();
bankDetails.add("HDFC");
netbanking.put("banks", bankDetails);
instruments.add(netbanking);
banks.put("instruments", instruments);
sequence.add("block.banks");
preference.put("show_default_blocks", false);
JSONObject displayObj = new JSONObject();
displayObj.put("blocks", banks);
displayObj.put("sequence",sequence);
displayObj.put("preferences", preference);
config.put("config", display);
display.put("display", displayObj);
checkout.put("checkout", config);
paymentLinkRequest.put("options",checkout);
PaymentLink payment = instance.paymentLink.create(paymentLinkRequest);
Use this API endpoint for Reordered Payment Methods.
import org.json.JSONObject;
import com.razorpay.Payment;
import com.razorpay.RazorpayClient;
import com.razorpay.RazorpayException;
RazorpayClient razorpay = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]");
JSONObject paymentLinkRequest = new JSONObject();
paymentLinkRequest.put("amount",1000);
paymentLinkRequest.put("currency","INR");
paymentLinkRequest.put("accept_partial",true);
paymentLinkRequest.put("first_min_partial_amount",100);
paymentLinkRequest.put("expire_by",1691097057);
paymentLinkRequest.put("reference_id","TS1989");
paymentLinkRequest.put("description","Payment for policy no #23456");
JSONObject customer = new JSONObject();
customer.put("name","<name>");
customer.put("contact","<phone>");
customer.put("email","<email>");
paymentLinkRequest.put("customer",customer);
JSONObject notify = new JSONObject();
notify.put("sms",true);
notify.put("email",true);
paymentLinkRequest.put("reminder_enable",true);
JSONObject checkout = new JSONObject();
JSONObject config = new JSONObject();
JSONObject display = new JSONObject();
List<Object> sequence = new ArrayList<>();
JSONObject preference = new JSONObject();
JSONObject banks = new JSONObject();
banks.put("name", "Pay using HDFC");
List<Object> instruments = new ArrayList<>();
JSONObject netbanking = new JSONObject();
netbanking.put("method","netbanking");
JSONObject upi = new JSONObject();
upi.put("method","upi");
JSONObject card = new JSONObject();
card.put("method","card");
JSONObject wallet = new JSONObject();
wallet.put("method","wallet");
instruments.add(netbanking);
instruments.add(upi);
instruments.add(card);
instruments.add(wallet);
banks.put("instruments", instruments);
sequence.add("block.banks");
preference.put("show_default_blocks", false);
JSONObject displayObj = new JSONObject();
displayObj.put("blocks", banks);
displayObj.put("sequence",sequence);
displayObj.put("preferences", preference);
config.put("config", display);
display.put("display", displayObj);
checkout.put("checkout", config);
paymentLinkRequest.put("options",checkout);
PaymentLink paymentlink = instance.paymentLink.create(paymentLinkRequest);
Use this API endpoint for HDFC Netbanking.
RazorpayClient client = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]");
Dictionary<string, object> paymentLinkRequest = new Dictionary<string, object>();
paymentLinkRequest.Add("amount", 1000);
paymentLinkRequest.Add("currency", "INR");
paymentLinkRequest.Add("accept_partial", true);
paymentLinkRequest.Add("first_min_partial_amount", 100);
paymentLinkRequest.Add("expire_by", 1691097057);
paymentLinkRequest.Add("reference_id", "TS1989");
paymentLinkRequest.Add("description", "Payment for policy no #23456");
Dictionary<string, object> customer = new Dictionary<string, object>();
customer.Add("name", "<name>");
customer.Add("contact", "<phone>");
customer.Add("email", "<email>");
paymentLinkRequest.Add("customer", customer);
Dictionary<string, object> notify = new Dictionary<string, object>();
notify.Add("sms", true);
notify.Add("email", true);
paymentLinkRequest.Add("reminder_enable", true);
Dictionary<string, object> checkout = new Dictionary<string, object>();
Dictionary<string, object> config = new Dictionary<string, object>();
Dictionary<string, object> display = new Dictionary<string, object>();
List<string> sequence = new List<string>();
Dictionary<string, object> preference = new Dictionary<string, object>();
Dictionary<string, object> banks = new Dictionary<string, object>();
banks.Add("name", "Pay using HDFC");
List<object> instruments = new List<object>();
Dictionary<string, object> bankingDetails = new Dictionary<string, object>();
bankingDetails.Add("method", "netbanking");
List<string> instrumentBanks = new List<string>();
instrumentBanks.Add("HDFC");
bankingDetails.Add("banks", instrumentBanks);
instruments.Add(bankingDetails);
banks.Add("instruments", instruments);
sequence.Add("block.banks");
preference.Add("show_default_blocks", false);
Dictionary<string, object> displayObj = new Dictionary<string, object>();
displayObj.Add("blocks", banks);
displayObj.Add("sequence", sequence);
displayObj.Add("preferences", preference);
config.Add("config", display);
display.Add("display", displayObj);
checkout.Add("checkout", config);
paymentLinkRequest.Add("options", checkout);
PaymentLink paymentlink = client.PaymentLink.Create(paymentLinkRequest);
Use this API endpoint for Reordered Payment Methods.
RazorpayClient client = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]");
Dictionary<string, object> paymentLinkRequest = new Dictionary<string, object>();
paymentLinkRequest.Add("amount", 1000);
paymentLinkRequest.Add("currency", "INR");
paymentLinkRequest.Add("accept_partial", true);
paymentLinkRequest.Add("first_min_partial_amount", 100);
paymentLinkRequest.Add("expire_by", 1691097057);
paymentLinkRequest.Add("reference_id", "TS1989");
paymentLinkRequest.Add("description", "Payment for policy no #23456");
Dictionary<string, object> customer = new Dictionary<string, object>();
customer.Add("name", "<name>");
customer.Add("contact", "<phone>");
customer.Add("email", "<email>");
paymentLinkRequest.Add("customer", customer);
Dictionary<string, object> notify = new Dictionary<string, object>();
notify.Add("sms", true);
notify.Add("email", true);
paymentLinkRequest.Add("reminder_enable", true);
Dictionary<string, object> checkout = new Dictionary<string, object>();
Dictionary<string, object> config = new Dictionary<string, object>();
Dictionary<string, object> display = new Dictionary<string, object>();
List<string> sequence = new List<string>();
Dictionary<string, object> preference = new Dictionary<string, object>();
Dictionary<string, object> banks = new Dictionary<string, object>();
banks.Add("name", "Pay using HDFC");
List<object> instruments = new List<object>();
Dictionary<string, object> netbanking = new Dictionary<string, object>();
netbanking.Add("method", "netbanking");
Dictionary<string, object> upi = new Dictionary<string, object>();
upi.Add("method", "upi");
Dictionary<string, object> card = new Dictionary<string, object>();
card.Add("method", "card");
Dictionary<string, object> wallet = new Dictionary<string, object>();
wallet.Add("method", "wallet");
instruments.Add(netbanking);
instruments.Add(upi);
instruments.Add(card);
instruments.Add(wallet);
banks.Add("instruments", instruments);
sequence.Add("block.banks");
preference.Add("show_default_blocks", false);
Dictionary<string, object> displayObj = new Dictionary<string, object>();
displayObj.Add("blocks", banks);
displayObj.Add("sequence", sequence);
displayObj.Add("preferences", preference);
config.Add("config", display);
display.Add("display", displayObj);
checkout.Add("checkout", config);
paymentLinkRequest.Add("options", checkout);
PaymentLink paymentlink = client.PaymentLink.Create(paymentLinkRequest);
Use this API endpoint for HDFC Netbanking.
Razorpay.setup('key_id', 'key_secret')
Razorpay.headers = {"Content-type" => "application/json"}
para_attr = {
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"reminder_enable": true,
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "Pay using HDFC",
"instruments": [
{
"method": "netbanking",
"banks": [
"HDFC"
]
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
}
Razorpay::PaymentLink.create(para_attr)
Use this API endpoint for Reordered Payment Methods.
Razorpay.setup('key_id', 'key_secret')
Razorpay.headers = {"Content-type" => "application/json"}
para_attr = {
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"reminder_enable": true,
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "All Payment Methods",
"instruments": [
{
"method": "upi"
},
{
"method": "netbanking"
},
{
"method": "card"
},
{
"method": "wallet"
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
}
Razorpay::PaymentLink.create(para_attr)
Use this API endpoint for HDFC Netbanking.
import razorpay
client = razorpay.Client(auth=("YOUR_ID", "YOUR_SECRET"))
client.payment_link.create({
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"reminder_enable": true,
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "Pay using HDFC",
"instruments": [
{
"method": "netbanking",
"banks": [
"HDFC"
]
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
})
Use this API endpoint for Reordered Payment Methods.
import razorpay
client = razorpay.Client(auth=("YOUR_ID", "YOUR_SECRET"))
client.payment_link.create({
"amount": 1000,
"currency": "INR",
"accept_partial": true,
"first_min_partial_amount": 100,
"reference_id": "#21132",
"description": "Payment for policy no #23456",
"customer": {
"name": "<name>",
"contact": "<phone>",
"email": "<email>"
},
"notify": {
"sms": true,
"email": true
},
"reminder_enable": true,
"options": {
"checkout": {
"config": {
"display": {
"blocks": {
"banks": {
"name": "All Payment Methods",
"instruments": [
{
"method": "upi"
},
{
"method": "netbanking"
},
{
"method": "card"
},
{
"method": "wallet"
}
]
}
},
"sequence": [
"block.banks"
],
"preferences": {
"show_default_blocks": false
}
}
}
}
}
})
razorpay payment-links create \
--amount 1000 \
--currency INR \
--checkout-config '{"display":{"blocks":{"banks":{"name":"Pay using Net Banking","instruments":[{"method":"netbanking"}]}},"sequence":["block.banks"],"preferences":{"show_default_blocks":false}}}'
{
"accept_partial": true,
"amount": 1000,
"amount_paid": 0,
"callback_method": "",
"callback_url": "",
"cancelled_at": 0,
"created_at": 1596188765,
"currency": "MYR",
"customer": {
"contact": "<phone>",
"email": "<email>",
"name": "<name>"
},
"deleted_at": 0,
"description": "Payment for policy no #23456",
"expire_by": 0,
"expired_at": 0,
"first_min_partial_amount": 100,
"id": "plink_FL3fYRliPWPv9e",
"notes": null,
"notify": {
"email": true,
"sms": true
},
"payments": null,
"reference_id": "#21132",
"reminder_enable": true,
"reminders": [],
"short_url": "https://rzp.io/i/0Uw9Kow",
"source": "",
"source_id": "",
"status": "created",
"updated_at": 1596188765,
"user_id": ""
}
{
"accept_partial": true,
"amount": 1000,
"amount_paid": 0,
"callback_method": "",
"callback_url": "",
"cancelled_at": 0,
"created_at": 1596188911,
"currency": "MYR",
"customer": {
"contact": "<phone>",
"email": "<email>",
"name": "<name>"
},
"deleted_at": 0,
"description": "Payment for policy no #23456",
"expire_by": 0,
"expired_at": 0,
"first_min_partial_amount": 100,
"id": "plink_FL3i7DFZwKOaCu",
"notes": null,
"notify": {
"email": true,
"sms": true
},
"payments": null,
"reference_id": "#21132",
"reminder_enable": true,
"reminders": [],
"short_url": "https://rzp.io/i/l3IB1Sc",
"source": "",
"source_id": "",
"status": "created",
"updated_at": 1596188911,
"user_id": ""
}
{
"error": {
"code": "BAD_REQUEST_ERROR",
"description": "The api key provided is invalid",
"source": "NA",
"step": "NA",
"reason": "NA",
"metadata": {}
}
}
{
"amount": 1000,
"amount_paid": 0,
"callback_method": "",
"callback_url": "",
"cancelled_at": 0,
"created_at": 1596188765,
"currency": "MYR",
"customer": {
"contact": "<phone>",
"email": "<email>",
"name": "<name>"
},
"deleted_at": 0,
"description": "Payment for policy no #23456",
"expire_by": 0,
"expired_at": 0,
"id": "plink_FL3fYRliPWPv9e",
"notes": null,
"notify": {
"email": true,
"sms": true
},
"payments": null,
"reference_id": "#21132",
"reminder_enable": true,
"reminders": [],
"short_url": "https://rzp.io/i/0Uw9Kow",
"source": "",
"source_id": "",
"status": "created",
"updated_at": 1596188765,
"user_id": ""
}
{
"amount": 1000,
"amount_paid": 0,
"callback_method": "",
"callback_url": "",
"cancelled_at": 0,
"created_at": 1596188911,
"currency": "MYR",
"customer": {
"contact": "<phone>",
"email": "<email>",
"name": "<name>"
},
"deleted_at": 0,
"description": "Payment for policy no #23456",
"expire_by": 0,
"expired_at": 0,
"id": "plink_FL3i7DFZwKOaCu",
"notes": null,
"notify": {
"email": true,
"sms": true
},
"payments": null,
"reference_id": "#21132",
"reminder_enable": true,
"reminders": [],
"short_url": "https://rzp.io/i/l3IB1Sc",
"source": "",
"source_id": "",
"status": "created",
"updated_at": 1596188911,
"user_id": ""
}
{
"error": {
"code": "BAD_REQUEST_ERROR",
"description": "The api key provided is invalid",
"source": "NA",
"step": "NA",
"reason": "NA",
"metadata": {}
}
}
Request Parameters
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.99990 and not 99991.true: Customer can make partial payments.false(default): Customer cannot make partial payments.
100. Default currency is INR. 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. Must be passed along with accept_partial parameter.true for creating UPI Payment Link. If the upi_link parameter is not passed or passed with value as false, a Standard Payment Link will be created. Possible values:true: Creates a UPI Payment Link.false: Creates a Standard Payment Link.
true: Razorpay handles the notification.false: You handle the notification.
true: Razorpay handles the notification.false: You handle the notification.
"note_key": "Payment Link for Groceries.”.callback_url is passed, it must be passed in the correct format. That is, it should contain a URL.callback_url parameter is passed, callback_method must be passed with the value get.true: To send reminders.false: To disable reminders.
checkout child parameters must be passed.Response Parameters
true: Customer can make partial payments.false(default): Customer cannot make partial payments.
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.99990 and not 99991.callback_url parameter is passed, callback_method must be passed with the value get.500000.plink_ERgihyaAAC0VNW.true: A UPI Payment Link has been created.false: It is a Standard Payment Link.
true: Razorpay handles the notification.false: Businesses handle the notification.
true: Razorpay handles the notification.false: Businesses handle the notification.
null.netbankingcardwalletupiemibank_transfer
plink_ERgihyaAAC0VNW.captured.createdpartially_paidexpiredcancelledpaid
true: To send reminders.false: To disable reminders.
HD1JAKCCPGDfRx.Errors
The api {key/secret} provided is invalid
The api {key/secret} provided is invalid
4xxThere is a mismatch between the API credentials passed in the API call and the API credentials generated on the Dashboard.Solution: Make sure that:- The API Keys are active and entered correctly.
- There are no white-spaces before or after the keys.
The {input field} is required
The {input field} is required
4xxA mandatory field is empty.Solution: Ensure all mandatory fields and values are present.wrong input fields sent.
wrong input fields sent.
400When wrong input fields are sent during Payment Link creation.Solution: Ensure that the input fields are added correctly. Refer to these request parameters on how to add correct input fields.payment link creation with reference ID already attempted
payment link creation with reference ID already attempted
400An existing reference id has been passed.Solution: Ensure that a unique reference id is used for all Payment Links.timestamp must be atleast 15 minutes in future
timestamp must be atleast 15 minutes in future
400The epoch time passed is less than 15 minutes from the current time.Solution: The close_by time should be more than 15 minutes from the current time.Invalid access: Cannot create a payment link in live mode, as live mode is disabled for merchant.
Invalid access: Cannot create a payment link in live mode, as live mode is disabled for merchant.
400Occurs when you try to create a Payment Link in Live mode, but live mode is disabled for youSolution: Raise a request to our support team to get live mode enabled for you.Invalid access: Cannot create a payment link, as Merchant is Suspended.
Invalid access: Cannot create a payment link, as Merchant is Suspended.
400Occurs when you try to create a Payment Link when you have been been suspended.Solution: Raise a request to our support team to be reinstated.value: the length must not be greater than 255.
value: the length must not be greater than 255.
400When the notes length is greater than 255 characters during Payment Link creation.Solution: Please create a payment link with notes values less than 255 characters.