block-hdfc-card-feature/ ├── frontend/ │ ├── BlockHDFCCard.tsx │ ├── BlockHDFCCard.css │ └── api.ts ├── backend/ │ ├── routes/cardRoutes.js │ ├── controllers/cardController.js │ ├── services/hdfcBankAPI.js │ ├── models/Card.js │ └── db.sql └── README.md 🗄️ Database Schema (PostgreSQL) File: backend/db.sql

// Mock HDFC API endpoint (replace with real endpoint) const response = await axios.post( 'https://api.hdfcbank.com/v1/cards/block', cardNumber: cardDetails.cardNumber, // Full card number (never store/log) expiryMonth: cardDetails.expiryMonth, expiryYear: cardDetails.expiryYear, reasonCode: cardDetails.reason === 'lost' ? 'L01' : cardDetails.reason === 'stolen' ? 'S02' : 'F03', requestId: cardDetails.requestId , headers: 'API-Key': process.env.HDFC_API_KEY, 'API-Secret': process.env.HDFC_API_SECRET, 'Content-Type': 'application/json' );

module.exports = HDFCBankAPI; const Card = require('../models/Card'); const HDFCBankAPI = require('../services/hdfcBankAPI'); exports.blockHDFCCard = async (req, res) => !cardNumber ; 4. Route ( routes/cardRoutes.js ) const express = require('express'); const router = express.Router(); const blockHDFCCard = require('../controllers/cardController'); router.post('/cards/hdfc/block', blockHDFCCard);

button:disabled background-color: #9ca3af; cursor: not-allowed;

button:hover:not(:disabled) background-color: #b91c1c;

.form-row .form-group flex: 1;