From 0ccb7dc16fbded814003422fc533f4121bb164f4 Mon Sep 17 00:00:00 2001 From: Allen T J Date: Thu, 29 May 2025 09:25:34 +0000 Subject: [PATCH] phonepe (#56) Co-authored-by: AllenTJ7 <163137620+AllenTJ7@users.noreply.github.com> Reviewed-on: https://git.cosqnet.com/cosqnet/fitlien-services/pulls/56 --- functions/src/payments/phonepe/webhook.ts | 35 ++++++++++++----------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/functions/src/payments/phonepe/webhook.ts b/functions/src/payments/phonepe/webhook.ts index 3cad0c5..1cb7cff 100644 --- a/functions/src/payments/phonepe/webhook.ts +++ b/functions/src/payments/phonepe/webhook.ts @@ -117,26 +117,29 @@ export const phonePeWebhook = onRequest({ try { logger.info(`Starting payment update process for merchantOrderId: ${payload.merchantOrderId}`); - const paymentUpdateSuccess = await updatePaymentDataAfterSuccess( - payload.merchantOrderId, - payload.orderId, - payload - ); + const orderData = orderDoc.data(); + const membershipId = orderData.metaInfo?.membershipId; + const bookingId = orderData.metaInfo?.bookingId; - logger.info(`Payment update result for merchantOrderId: ${payload.merchantOrderId}`, { - success: paymentUpdateSuccess, - orderId: payload.orderId - }); + if (bookingId) { + await processDayPassBooking(payload, orderData, bookingId); + } else if (membershipId) { + const paymentUpdateSuccess = await updatePaymentDataAfterSuccess( + payload.merchantOrderId, + payload.orderId, + payload + ); - if (paymentUpdateSuccess) { - const orderData = orderDoc.data(); - const membershipId = orderData.metaInfo?.membershipId; - const bookingId = orderData.metaInfo?.bookingId; - if (bookingId) { - await processDayPassBooking(payload, orderData, bookingId); - } else if (membershipId) { + logger.info(`Payment update result for membershipId: ${membershipId}`, { + success: paymentUpdateSuccess, + orderId: payload.orderId + }); + + if (paymentUpdateSuccess) { await processMembershipPayment(payload, orderData, membershipId); } + } else { + logger.error(`No membershipId or bookingId found in metaInfo for order: ${payload.merchantOrderId}`); } logger.info(`Payment data updated for completed payment: ${payload.merchantOrderId}`);