phonepe (#26)
All checks were successful
Deploy FitLien services to Dev / Deploy to Dev (push) Successful in 3m44s
All checks were successful
Deploy FitLien services to Dev / Deploy to Dev (push) Successful in 3m44s
Co-authored-by: AllenTJ7 <163137620+AllenTJ7@users.noreply.github.com> Reviewed-on: #26
This commit is contained in:
parent
5f89a5cda4
commit
aee28a6050
@ -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,
|
||||
|
||||
@ -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()) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user