require "razorpay"
Razorpay.setup('key_id', 'key_secret')
para_attr = {
"name": "Razorpay User",
"email": "[email protected]",
"fail_existing": 0,
"contact": 9123456780,
"notes": {
"notes_key_1": "Tea, Earl Grey, Hot",
"notes_key_2": "Tea, Earl Grey… decaf"
}
}
Razorpay::Customer.create(para_attr)
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
}
para_attr = {
"amount": 100,
"currency": "INR",
"customer_id": "cust_4xbQrmEoA5WJ01",
"method": "upi",
"token": {
"max_amount": 200000,
"expire_at": 2709971120,
"frequency": "monthly"
},
"receipt": "Receipt No. 1",
"notes": {
"notes_key_1": "Tea, Earl Grey, Hot",
"notes_key_2": "Tea, Earl Grey… decaf."
}
}
Razorpay.Order.create(para_attr)
Parameters:
Name | Type | Description |
---|---|---|
amount* | integer | Amount of the order to be paid |
currency* | string | Currency of the order. Currently only INR is supported. |
method* | string | The authorization method. In this case the value will be emandate |
receipt | string | Your system order reference id. |
notes | object | A key-value pair |
token | object | All parameters listed here are supported |
Response:
{
"id": "order_1Aa00000000002",
"entity": "order",
"amount": 100,
"amount_paid": 0,
"amount_due": 100,
"currency": "INR",
"receipt": "Receipt No. 1",
"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
}
Please refer this doc for authorization payment
para_attr = {
"customer": {
"name": "Gaurav Kumar",
"email": "[email protected]",
"contact": 9123456780
},
"type": "link",
"amount": 100,
"currency": "INR",
"description": "Registration Link for Gaurav Kumar",
"subscription_registration": {
"method": "upi",
"max_amount": 500,
"expire_at": 1634215992
},
"receipt": "Receipt No. 5",
"email_notify": 1,
"sms_notify": 1,
"expire_by": 1634215992,
"notes": {
"note_key 1": "Beam me up Scotty",
"note_key 2": "Tea. Earl Gray. Hot."
}
}
Razorpay::SubscriptionRegistration.create(para_attr)
Parameters:
Name | Type | Description |
---|---|---|
customer | object | All parameters listed here are supported |
type* | string | In this case, the value is link . |
currency* | string | The 3-letter ISO currency code for the payment. Currently, only INR is supported. |
amount* | integer | The payment amount in the smallest currency sub-unit. |
description* | string | A description that appears on the hosted page. For example, 12:30 p.m. Thali meals (Gaurav Kumar ). |
subscription_registration | object | All parameters listed here are supported |
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 | object | A key-value pair |
Response:
{
"id": "inv_FHr1ekX0r2VCVK",
"entity": "invoice",
"receipt": "Receipt No. 23",
"invoice_number": "Receipt No. 23",
"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_FHr1ehR3nmNeXo",
"line_items": [],
"payment_id": null,
"status": "issued",
"expire_by": 4102444799,
"issued_at": 1595489219,
"paid_at": null,
"cancelled_at": null,
"expired_at": null,
"sms_status": "pending",
"email_status": "pending",
"date": 1595489219,
"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/ak1WxDB",
"view_less": true,
"billing_start": null,
"billing_end": null,
"type": "link",
"group_taxes_discounts": false,
"created_at": 1595489219,
"idempotency_key": null
}
invoiceId = "inv_JDdNb4xdf4gxQ7"
medium = "email"
Razorpay::Invoice.notify_by(invoiceId, medium)
Parameters:
Name | Type | Description |
---|---|---|
invoiceId* | string | The id of the invoice to be notified |
medium* | string | sms /email , Medium through which notification should be sent. |
Response:
{
"success": true
}
invoiceId = "inv_JDdNb4xdf4gxQ7"
Razorpay::Invoice.cancel(invoiceId)
Parameters:
Name | Type | Description |
---|---|---|
invoiceId* | string | The id of the invoice to be cancelled |
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
}
paymentId = "pay_FHfAzEJ51k8NLj"
Razorpay::Payment.fetch(paymentId)
Parameters:
Name | Type | Description |
---|---|---|
paymentId* | string | Id of the payment to be retrieved |
Response:
{
"id": "pay_FHfAzEJ51k8NLj",
"entity": "payment",
"amount": 100,
"currency": "INR",
"status": "captured",
"order_id": "order_FHfANdTUYeP8lb",
"invoice_id": null,
"international": false,
"method": "upi",
"amount_refunded": 0,
"refund_status": null,
"captured": true,
"description": null,
"card_id": null,
"bank": null,
"wallet": null,
"vpa": "gaurav.kumar@upi",
"email": "[email protected]",
"contact": "+919876543210",
"customer_id": "cust_DtHaBuooGHTuyZ",
"token_id": "token_FHfAzGzREc1ug6",
"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": {
"rrn": "854977234911",
"upi_transaction_id": "D0BED5A062ECDB3E9B3A1071C96BB273"
},
"created_at": 1595447490
}
customerId = "cust_1Aa00000000004"
Razorpay::Customer.fetch(customerId).fetchTokens
Parameters:
Name | Type | Description |
---|---|---|
customerId* | string | The id of the customer to be fetched |
Response:
{
"entity": "collection",
"count": 1,
"items": [
{
"id": "token_FHfAzGzREc1ug6",
"entity": "token",
"token": "9KHsdPaCELeQ0t",
"bank": null,
"wallet": null,
"method": "upi",
"vpa": {
"username": "gaurav.kumar",
"handle": "upi",
"name": null
},
"recurring": true,
"recurring_details": {
"status": "confirmed",
"failure_reason": null
},
"auth_type": null,
"mrn": null,
"used_at": 1595447490,
"created_at": 1595447490,
"start_time": 1595447455,
"dcc_enabled": false
}
]
}
customerId = "cust_1Aa00000000004"
tokenId = "token_Hxe0skTXLeg9pF"
Razorpay::Customer.fetch(customerId).deleteToken(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
}
para_attr{
"amount": 1000,
"currency": "INR",
"receipt": "Receipt No. 1",
"payment_capture": true,
"notes": {
"notes_key_1": "Tea, Earl Grey, Hot",
"notes_key_2": "Tea, Earl Grey… decaf."
}
}
Razorpay::Order.create(para_attr)
Parameters:
Name | Type | Description |
---|---|---|
amount* | integer | Amount of the order to be paid |
currency* | string | Currency of the order. Currently only INR is supported. |
receipt | string | Your system order reference id. |
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. |
notes | object | A key-value pair |
Response: |
{
"id":"order_1Aa00000000002",
"entity":"order",
"amount":1000,
"amount_paid":0,
"amount_due":1000,
"currency":"INR",
"receipt":"Receipt No. 1",
"offer_id":null,
"status":"created",
"attempts":0,
"notes":{
"notes_key_1":"Tea, Earl Grey, Hot",
"notes_key_2":"Tea, Earl Grey… decaf."
},
"created_at":1579782776
}
para_attr = {
"email": "[email protected]",
"contact": 9123456789,
"amount": 100,
"currency": "INR",
"order_id": "order_1Aa00000000002",
"customer_id": "cust_1Aa00000000001",
"token": "token_1Aa00000000001",
"recurring": 1,
"description": "Creating recurring payment for Gaurav Kumar"
}
Razorpay::Payment.create_recurring_payment(para_attr)
Parameters:
Name | Type | Description |
---|---|---|
email* | string | The customer's email address. |
contact* | string | The customer's phone number. |
amount* | integer | The amount you want to charge your customer. This should be the same as the amount in the order. |
currency* | string | The 3-letter ISO currency code for the payment. Currently, only INR is supported. |
order_id* | string | The unique identifier of the order created. |
customer_id* | string | The customer_id for the customer you want to charge. |
token* | string | The token_id generated when the customer successfully completes the authorization payment. Different payment instruments for the same customer have different token_id . |
recurring* | string | Determines if recurring payment is enabled or not. Possible values: * 1 - Recurring is enabled.* 0 - Recurring is not enabled. |
description | string | A user-entered description for the payment. |
notes | object | Key-value pair that can be used to store additional information about the entity. Maximum 15 key-value pairs, 256 characters (maximum) each. |
Response:
{
"razorpay_payment_id" : "pay_1Aa00000000001",
"razorpay_order_id" : "order_1Aa00000000001",
"razorpay_signature" : "9ef4dffbfd84f1318f6739a3ce19f9d85851857ae648f114332d8401e0949a3d"
}
PN: * indicates mandatory fields
For reference click here