Files
amble_api/config/razorpay-service.js

57 lines
1.5 KiB
JavaScript
Raw Permalink Normal View History

2025-07-15 15:54:43 +05:30
const Razorpay = require('razorpay');
// Initialize Razorpay client with your API key and secret
const razorpay = new Razorpay({
key_id: process.env.RAZORPAY_KEY_ID,
key_secret: process.env.RAZORPAY_KEY_SECRET
});
// Function to create an order using Razorpay API
const createRazorpayOrder = async (amount, recipid) => {
try {
const options = {
amount: amount * 100,
currency: 'INR',
receipt: recipid,
};
const order = await razorpay.orders.create(options);
return order;
} catch (error) {
console.error("Error creating Razorpay order:", error);
throw error;
}
}
// Function to process a refund using Razorpay API
const processRazorpayRefund = async (paymentId, amount) => {
try {
const refund = await razorpay.payments.refund(paymentId, { amount });
console.log("Refund processed successfully:", refund);
return refund;
} catch (error) {
console.error("Error processing Razorpay refund:", error);
throw error;
}
}
// Function to fetch details of an order using order ID
const getOrderDetails = async (orderId) => {
try {
const order = await razorpay.orders.fetch(orderId);
console.log("Order details:", order);
return order;
} catch (error) {
console.error("Error fetching order details:", error);
throw error;
}
}
// Export the function for creating Razorpay orders
module.exports = {
createRazorpayOrder,
processRazorpayRefund,
getOrderDetails
};