64 lines
1.9 KiB
JavaScript
64 lines
1.9 KiB
JavaScript
const express = require('express');
|
|
const router = express.Router();
|
|
const phonePeController = require('../controllers/phonePeController');
|
|
const { requireAuth, requireManager } = require('../middleware/auth');
|
|
|
|
/**
|
|
* @route POST /api/payments/phonepe/initiate
|
|
* @desc Initiate PhonePe payment
|
|
* @access Private (Members)
|
|
*/
|
|
router.post('/initiate', requireAuth, phonePeController.initiatePayment);
|
|
|
|
/**
|
|
* @route POST /api/payments/phonepe/callback
|
|
* @desc PhonePe payment callback (webhook)
|
|
* @access Public (PhonePe server)
|
|
*/
|
|
router.post('/callback', phonePeController.paymentCallback);
|
|
|
|
/**
|
|
* @route POST /api/payments/phonepe/verify
|
|
* @desc Verify payment status
|
|
* @access Private
|
|
*/
|
|
router.post('/verify', requireAuth, phonePeController.verifyPayment);
|
|
|
|
/**
|
|
* @route GET /api/payments/phonepe/status/:transactionId
|
|
* @desc Get payment status
|
|
* @access Private
|
|
*/
|
|
router.get('/status/:transactionId', requireAuth, phonePeController.getPaymentStatus);
|
|
|
|
/**
|
|
* @route POST /api/payments/phonepe/refund
|
|
* @desc Initiate refund
|
|
* @access Private (Managers only)
|
|
*/
|
|
router.post('/refund', requireManager, phonePeController.initiateRefund);
|
|
|
|
/**
|
|
* @route POST /api/payments/phonepe/external-webhook
|
|
* @desc Handle external UPI payment notifications
|
|
* @access Public (PhonePe webhook)
|
|
*/
|
|
router.post('/external-webhook', phonePeController.externalPaymentWebhook);
|
|
|
|
/**
|
|
* @route POST /api/payments/phonepe/payment-intent
|
|
* @desc Generate payment intent with QR code for direct UPI payment
|
|
* @access Private
|
|
*/
|
|
router.post('/payment-intent', requireAuth, phonePeController.generatePaymentIntent);
|
|
|
|
/**
|
|
* @route GET /api/payments/phonepe/qr/:groupId/:month/:year
|
|
* @desc Get payment QR code for specific installment
|
|
* @access Private
|
|
*/
|
|
router.get('/qr/:groupId/:month/:year', requireAuth, phonePeController.getPaymentQRCode);
|
|
|
|
module.exports = router;
|
|
|