phonepe #26

Merged
allentj merged 2 commits from phonepe into dev 2025-05-14 13:09:10 +00:00
2 changed files with 8 additions and 3 deletions

View File

@ -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,

View File

@ -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()) {