Files
eCommerce-backend/src/routes/paymentRoutes.js
2026-02-19 17:25:38 +05:30

52 lines
1.4 KiB
JavaScript

// routes/paymentRoutes.js
const express = require('express');
const paytmController = require('../controllers/payment/paytmController');
const { protect, authorize } = require('../middleware/auth');
const router = express.Router();
// ======================
// PAYTM PAYMENT ROUTES
// ======================
/**
* @desc Initiate Paytm Payment
* @route POST /api/payments/paytm/initiate
* @access Private
*/
router.post('/paytm/initiate', protect, paytmController.initiatePayment);
/**
* @desc Paytm Payment Callback (Called by Paytm after payment)
* @route POST /api/payments/paytm/callback
* @access Public (No auth - Paytm calls this)
*/
router.post('/paytm/callback', paytmController.paymentCallback);
/**
* @desc Check Payment Status
* @route GET /api/payments/paytm/status/:orderId
* @access Private
*/
router.get('/paytm/status/:orderId', protect, paytmController.checkPaymentStatus);
/**
* @desc Get Payment Details
* @route GET /api/payments/paytm/:orderId
* @access Private
*/
router.get('/paytm/:orderId', protect, paytmController.getPaymentDetails);
/**
* @desc Process Refund (Admin only)
* @route POST /api/payments/paytm/refund
* @access Private/Admin
*/
router.post(
'/paytm/refund',
protect,
authorize('ADMIN', 'SUPER_ADMIN'),
paytmController.processRefund
);
module.exports = router;