JSONObject customerRequest = new JSONObject();
customerRequest.put("name","Gaurav Kumar");
customerRequest.put("contact","9123456780");
customerRequest.put("email","[email protected]");
customerRequest.put("fail_existing","0");
JSONObject notes = new JSONObject();
notes.put("notes_key_1","Tea, Earl Grey, Hot");
notes.put("notes_key_2","Tea, Earl Grey… decaf.");
customerRequest.put("notes",notes);
Customer customer = instance.customers.create(customerRequest);
Parameters:
Name | Type | Description |
---|---|---|
name* | string | Name of the customer |
string | Email of the customer | |
contact | string | Contact number of the customer |
fail_existing | string | If a customer with the same details already exists, the request throws an exception by default. Possible value is 0 or 1 |
notes | object | A key-value pair |
Response:
{
"id": "cust_1Aa00000000003",
"entity": "customer",
"name": "Gaurav Kumar",
"email": "[email protected]",
"contact": "9000000000",
"gstin": null,
"notes": {
"notes_key_1": "Tea, Earl Grey, Hot",
"notes_key_2": "Tea, Earl Grey… decaf."
},
"created_at": 1582033731
}
JSONObject orderRequest = new JSONObject();
orderRequest.put("amount", 100);
orderRequest.put("currency", "INR");
orderRequest.put("customer_id", "cust_JDdNazagOgg9Ig");
orderRequest.put("method", "card");
JSONObject token = new JSONObject();
token.put("max_amount","5000");
token.put("expire_at","2709971120");
token.put("frequency","monthly");
orderRequest.put("token", token);
orderRequest.put("receipt", "receipt#1");
JSONObject notes = new JSONObject();
notes.put("notes_key_1","Tea, Earl Grey, Hot");
notes.put("notes_key_2","Tea, Earl Grey… decaf.");
orderRequest.put("notes", notes);
Order order = instance.orders.create(orderRequest);
Parameters:
Name | Type | Description |
---|---|---|
amount* | integer | The amount to be captured (should be equal to the authorized amount, in paise) |
currency* | string | The currency of the payment (defaults to INR) |
customerId* | string | The id of the customer to be fetched |
receipt | string | Your system order reference id. |
method | string | Payment method used to make the registration transaction. Possible value is card . |
token | object | All keys listed here are supported |
notes | object | A key-value pair |
Response:
{
"id":"order_1Aa00000000002",
"entity":"order",
"amount":100,
"amount_paid":0,
"amount_due":100,
"currency":"INR",
"receipt":"Receipt No. 1",
"method":"card",
"description":null,
"customer_id":"cust_4xbQrmEoA5WJ01",
"token":{
"max_amount":5000,
"expire_at":2709971120,
"frequency":"monthly"
},
"offer_id":null,
"status":"created",
"attempts":0,
"notes":{
"notes_key_1":"Tea, Earl Grey, Hot",
"notes_key_2":"Tea, Earl Grey… decaf."
},
"created_at":1565172642
}
JSONObject registrationLinkRequest = new JSONObject();
JSONObject customer = new JSONObject();
customer.put("name","Gaurav Kumar");
customer.put("email","[email protected]");
customer.put("contact","9123456780");
registrationLinkRequest.put("customer", customer);
registrationLinkRequest.put("type", "link");
registrationLinkRequest.put("amount", 100);
registrationLinkRequest.put("currency", "INR");
registrationLinkRequest.put("description", "Registration Link for Gaurav Kumar");
JSONObject subscriptionRegistration = new JSONObject();
subscriptionRegistration.put("method","card");
subscriptionRegistration.put("max_amount",500);
subscriptionRegistration.put("expire_at",1609423824);
registrationLinkRequest.put("subscription_registration", subscriptionRegistration);
registrationLinkRequest.put("receipt", "Receipt No. 1");
registrationLinkRequest.put("email_notify", 1);
registrationLinkRequest.put("sms_notify", 1);
registrationLinkRequest.put("expire_by", 1580479824);
JSONObject notes = new JSONObject();
notes.put("notes_key_1","Tea, Earl Grey, Hot");
notes.put("notes_key_2","Tea, Earl Grey… decaf.");
registrationLinkRequest.put("notes", notes);
Invoice invoice = instance.invoices.createRegistrationLink(registrationLinkRequest);
Parameters:
Name | Type | Description |
---|---|---|
customer | object | All parameters listed here are supported |
type* | object | the value is link . |
amount* | integer | The amount to be captured (should be equal to the authorized amount, in paise) |
currency* | string | The currency of the payment (defaults to INR) |
description* | string | A brief description of the payment. |
subscription_registration | object | All keys listed here are supported |
receipt | string | Your system order reference id. |
sms_notify | boolean | SMS notifications are to be sent by Razorpay (default : 1) |
email_notify | boolean | Email notifications are to be sent by Razorpay (default : 1) |
expire_by | integer | The timestamp, in Unix format, till when the customer can make the authorization payment. |
notes | array | A key-value pair |
Response:
{
"id": "inv_FHrXGIpd3N17DX",
"entity": "invoice",
"receipt": "Receipt No. 24",
"invoice_number": "Receipt No. 24",
"customer_id": "cust_BMB3EwbqnqZ2EI",
"customer_details": {
"id": "cust_BMB3EwbqnqZ2EI",
"name": "Gaurav Kumar",
"email": "[email protected]",
"contact": "9123456780",
"gstin": null,
"billing_address": null,
"shipping_address": null,
"customer_name": "Gaurav Kumar",
"customer_email": "[email protected]",
"customer_contact": "9123456780"
},
"order_id": "order_FHrXGJNngJyEAe",
"line_items": [],
"payment_id": null,
"status": "issued",
"expire_by": 4102444799,
"issued_at": 1595491014,
"paid_at": null,
"cancelled_at": null,
"expired_at": null,
"sms_status": "pending",
"email_status": "pending",
"date": 1595491014,
"terms": null,
"partial_payment": false,
"gross_amount": 100,
"tax_amount": 0,
"taxable_amount": 0,
"amount": 100,
"amount_paid": 0,
"amount_due": 100,
"currency": "INR",
"currency_symbol": "₹",
"description": "Registration Link for Gaurav Kumar",
"notes": {
"note_key 1": "Beam me up Scotty",
"note_key 2": "Tea. Earl Gray. Hot."
},
"comment": null,
"short_url": "https://rzp.io/i/VSriCfn",
"view_less": true,
"billing_start": null,
"billing_end": null,
"type": "link",
"group_taxes_discounts": false,
"created_at": 1595491014,
"idempotency_key": null
}
JSONObject orderRequest = new JSONObject();
orderRequest.put("amount", 100);
orderRequest.put("currency", "INR");
orderRequest.put("customer_id", "cust_JDdNazagOgg9Ig");
orderRequest.put("method", "card");
JSONObject token = new JSONObject();
token.put("max_amount","5000");
token.put("expire_at","2709971120");
token.put("frequency","monthly");
orderRequest.put("token", token);
orderRequest.put("receipt", "receipt#1");
JSONObject notes = new JSONObject();
notes.put("notes_key_1","Tea, Earl Grey, Hot");
notes.put("notes_key_2","Tea, Earl Grey… decaf.");
orderRequest.put("notes", notes);
Order order = instance.orders.create(orderRequest);
Parameters:
Name | Type | Description |
---|---|---|
amount* | integer | The amount to be captured (should be equal to the authorized amount, in paise) |
currency* | string | The currency of the payment (defaults to INR) |
customerId* | string | The id of the customer to be fetched |
method | string | Payment method used to make the registration transaction. Possible value is card . |
receipt | string | Your system order reference id. |
token | object | All keys listed here are supported |
notes | object | A key-value pair |
payment_capture | boolean | Indicates whether payment status should be changed to captured automatically or not. Possible values: true - Payments are captured automatically. false - Payments are not captured automatically. |
Response:
{
"id":"order_1Aa00000000002",
"entity":"order",
"amount":100,
"amount_paid":0,
"amount_due":100,
"currency":"INR",
"receipt":"Receipt No. 1",
"method":"card",
"description":null,
"customer_id":"cust_4xbQrmEoA5WJ01",
"token":{
"max_amount":5000,
"expire_at":2709971120,
"frequency":"monthly"
},
"offer_id":null,
"status":"created",
"attempts":0,
"notes":{
"notes_key_1":"Tea, Earl Grey, Hot",
"notes_key_2":"Tea, Earl Grey… decaf."
},
"created_at":1565172642
}
JSONObject paymentRequest = new JSONObject();
paymentRequest.put("email", "[email protected]");
paymentRequest.put("contact", "9123456789");
paymentRequest.put("amount", 1000);
paymentRequest.put("currency", "INR");
paymentRequest.put("order_id", "order_1Aa00000000002");
paymentRequest.put("customer_id", "cust_1Aa00000000001");
paymentRequest.put("token", "token_1Aa00000000001");
paymentRequest.put("recurring", 1);
paymentRequest.put("description", "Creating recurring payment for Gaurav Kumar");
JSONObject notes = new JSONObject();
notes.put("notes_key_1","Tea, Earl Grey, Hot");
notes.put("notes_key_2","Tea, Earl Grey… decaf.");
paymentRequest.put("notes", notes);
Payment payment = instance.payments.createRecurringPayment(paymentRequest);
Parameters:
Name | Type | Description |
---|---|---|
email* | string | The customer's email address |
contact* | string | The customer's phone number |
amount* | integer | The amount to be captured (should be equal to the authorized amount, in paise) |
currency* | string | The currency of the payment (defaults to INR) |
orderId* | string | The id of the order to be fetched |
customerId* | string | The id of the customer to be fetched |
tokenId* | string | The id of the token to be fetched |
recurring* | boolean | Possible values is 0 or 1 |
description | string | A brief description of the payment. |
notes | object | A key-value pair |
Response:
{
"razorpay_payment_id" : "pay_1Aa00000000001",
"razorpay_order_id" : "order_1Aa00000000001",
"razorpay_signature" : "9ef4dffbfd84f1318f6739a3ce19f9d85851857ae648f114332d8401e0949a3d"
}
Please refer this doc for authorization payment
String invoiceId = "inv_FHrXGIpd3N17DX";
String medium = "sms";
Invoice invoice = instance.invoices.notifyBy(invoiceId,medium);
Parameters:
Name | Type | Description |
---|---|---|
InvoiceId* | string | The id of the invoice to be fetched |
medium* | string | Possible values are sms or email |
Response:
{
"success": true
}
String invoiceId = "inv_FHrXGIpd3N17DX";
Invoice invoice = instance.invoices.cancel(invoiceId);
Parameters:
Name | Type | Description |
---|---|---|
invoiceId* | string | The id of the invoice to be fetched |
Response:
{
"id": "inv_FHrfRupD2ouKIt",
"entity": "invoice",
"receipt": "Receipt No. 1",
"invoice_number": "Receipt No. 1",
"customer_id": "cust_BMB3EwbqnqZ2EI",
"customer_details": {
"id": "cust_BMB3EwbqnqZ2EI",
"name": "Gaurav Kumar",
"email": "[email protected]",
"contact": "9123456780",
"gstin": null,
"billing_address": null,
"shipping_address": null,
"customer_name": "Gaurav Kumar",
"customer_email": "[email protected]",
"customer_contact": "9123456780"
},
"order_id": "order_FHrfRw4TZU5Q2L",
"line_items": [],
"payment_id": null,
"status": "cancelled",
"expire_by": 4102444799,
"issued_at": 1595491479,
"paid_at": null,
"cancelled_at": 1595491488,
"expired_at": null,
"sms_status": "sent",
"email_status": "sent",
"date": 1595491479,
"terms": null,
"partial_payment": false,
"gross_amount": 100,
"tax_amount": 0,
"taxable_amount": 0,
"amount": 100,
"amount_paid": 0,
"amount_due": 100,
"currency": "INR",
"currency_symbol": "₹",
"description": "Registration Link for Gaurav Kumar",
"notes": {
"note_key 1": "Beam me up Scotty",
"note_key 2": "Tea. Earl Gray. Hot."
},
"comment": null,
"short_url": "https://rzp.io/i/QlfexTj",
"view_less": true,
"billing_start": null,
"billing_end": null,
"type": "link",
"group_taxes_discounts": false,
"created_at": 1595491480,
"idempotency_key": null
}
String paymentId = "pay_FHfqtkRzWvxky4";
Payment payment = instance.payments.fetch(paymentId);
Parameters:
Name | Type | Description |
---|---|---|
paymentId* | string | The id of the payment to be fetched |
Response:
{
"id": "pay_FHfqtkRzWvxky4",
"entity": "payment",
"amount": 100,
"currency": "INR",
"status": "captured",
"order_id": "order_FHfnswDdfu96HQ",
"invoice_id": null,
"international": false,
"method": "card",
"amount_refunded": 0,
"refund_status": null,
"captured": true,
"description": null,
"card_id": "card_F0zoXUp4IPPGoI",
"bank": null,
"wallet": null,
"vpa": null,
"email": "[email protected]",
"contact": "+919876543210",
"customer_id": "cust_DtHaBuooGHTuyZ",
"token_id": "token_FHfn3rIiM1Z8nr",
"notes": {
"note_key 1": "Beam me up Scotty",
"note_key 2": "Tea. Earl Gray. Hot."
},
"fee": 0,
"tax": 0,
"error_code": null,
"error_description": null,
"error_source": null,
"error_step": null,
"error_reason": null,
"acquirer_data": {
"auth_code": "541898"
},
"created_at": 1595449871
}
String customerId = "cust_DtHaBuooGHTuyZ";
List<Token> tokens = instance.customers.fetchTokens(customerId);
Parameters:
Name | Type | Description |
---|---|---|
customerId* | string | The id of the customer to be fetched |
Response:
{
"entity":"collection",
"count":1,
"items":[
{
"id":"token_HouA2OQR5Z2jTL",
"entity":"token",
"token":"2JPRk664pZHUWG",
"bank":null,
"wallet":null,
"method":"card",
"card":{
"entity":"card",
"name":"Gaurav Kumar",
"last4":"8950",
"network":"Visa",
"type":"credit",
"issuer":"STCB",
"international":false,
"emi":false,
"sub_type":"consumer",
"expiry_month":12,
"expiry_year":2021,
"flows":{
"otp":true,
"recurring":true
}
},
"recurring":true,
"recurring_details":{
"status":"confirmed",
"failure_reason":null
},
"auth_type":null,
"mrn":null,
"used_at":1629779657,
"created_at":1629779657,
"expired_at":1640975399,
"dcc_enabled":false,
"billing_address":null
}
]
}
String cardId = "card_F0zoXUp4IPPGoI";
Card card = instance.cards.fetch(cardId);
Parameters:
Name | Type | Description |
---|---|---|
cardId* | string | card id to be fetched |
Response
{
"id": "card_F0zoXUp4IPPGoI",
"entity": "card",
"international": false,
"last4": 1111,
"name": "sample name",
"network": "Visa",
"type": "debit"
}
String customerId = "cust_Hwq7Ba6TDXl1ga";
String tokenId = "token_1Aa00000000001";
Customer customer = instance.customers.deleteToken(customerId,tokenId);
Parameters:
Name | Type | Description |
---|---|---|
customerId* | string | The id of the customer to be fetched |
tokenId* | string | The id of the token to be fetched |
Response:
{
"deleted": true
}
JSONObject request = new JSONObject();
request.put("number","4854980604708430");
Card card = instance.card.requestCardReference(request);
Parameters:
Name | Type | Description |
---|---|---|
number* | string | The card number whose PAR or network reference id should be retrieved. |
tokenised | string | Determines if the card is saved as a token. Possible value is true or false |
Response:
{
"network": "Visa",
"payment_account_reference": "V0010013819231376539033235990",
"network_reference_id": null
}
JSONObject request = new JSONObject();
request.put("token","token_4lsdksD31GaZ09");
Card card = instance.card.requestCardReference(request);
Parameters:
Name | Type | Description |
---|---|---|
token* | string | The token whose PAR or network reference id should be retrieved. |
Response:
{
"network": "Visa",
"payment_account_reference": "V0010013819231376539033235990",
"network_reference_id": null
}
PN: * indicates mandatory fields
For reference click here