diff --git a/functions/src/clientRegistration/clientRegistration.ts b/functions/src/clientRegistration/clientRegistration.ts index 8ed51fb..fe2fafc 100644 --- a/functions/src/clientRegistration/clientRegistration.ts +++ b/functions/src/clientRegistration/clientRegistration.ts @@ -82,7 +82,7 @@ export const registerClient = onRequest({ phoneNumber: formattedPhoneNumber, }; - await admin.firestore().collection('client_profile').doc(clientUid).set(clientData); + await admin.firestore().collection('client_profiles').doc(clientUid).set(clientData); return res.status(201).json({ success: true, diff --git a/functions/src/payments/phonepe/webhook.ts b/functions/src/payments/phonepe/webhook.ts index d8696dc..9f522f9 100644 --- a/functions/src/payments/phonepe/webhook.ts +++ b/functions/src/payments/phonepe/webhook.ts @@ -10,6 +10,13 @@ export const phonePeWebhook = onRequest({ region: '#{SERVICES_RGN}#' }, async (request: Request, response) => { try { + + logger.info('Received webhook request', { + headers: request.headers, + body: request.body, + method: request.method + }); + const authHeader = request.headers['authorization'] as string; const username = process.env.PHONEPE_WEBHOOK_USERNAME; const password = process.env.PHONEPE_WEBHOOK_PASSWORD; @@ -20,14 +27,12 @@ export const phonePeWebhook = onRequest({ return; } - // Calculate expected authorization value const credentialString = `${username}:${password}`; const expectedAuth = crypto .createHash('sha256') .update(credentialString) .digest('hex'); - // PhonePe may send the header with a prefix like "SHA256 " or just the hash const receivedAuth = authHeader.replace(/^SHA256\s+/i, ''); if (receivedAuth.toLowerCase() !== expectedAuth.toLowerCase()) {