From 4346ffb3c8dc2b821008b2c12a11de28f41545df Mon Sep 17 00:00:00 2001 From: Srishty Mangutte <68679980+Srish-ty@users.noreply.github.com> Date: Tue, 5 Nov 2024 13:13:07 +0530 Subject: [PATCH] fix: updated payment api request headers (#247) * fix: added req headers * fix: footer links * fix: pay button * fix: pay button * fix: request params --- src/pages/api/phonepePayment.js | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/pages/api/phonepePayment.js b/src/pages/api/phonepePayment.js index 212d6fe..df1f27b 100644 --- a/src/pages/api/phonepePayment.js +++ b/src/pages/api/phonepePayment.js @@ -19,19 +19,24 @@ export default async function handler(req, res) { const payloadString = JSON.stringify(payload); const base64Payload = Buffer.from(payloadString).toString('base64'); - const checksum = crypto - .createHmac('sha256', process.env.NEXT_PUBLIC_PHONEPE_API_KEY) - .update(base64Payload + '/pg/v1/pay' + process.env.NEXT_PUBLIC_PHONEPE_API_KEY) - .digest('base64'); + const stringToHash = `${base64Payload}/pg/v1/pay/${process.env.NEXT_PUBLIC_PHONEPE_API_KEY}`; + + const checksum = crypto.createHash('sha256').update(stringToHash).digest('hex'); + + const xVerify = `${checksum}###${process.env.NEXT_PUBLIC_PHONEPE_API_KEY_INDEX}`; + + const raw = JSON.stringify({ + request: base64Payload, + }); try { const response = await fetch(`${process.env.NEXT_PUBLIC_PHONEPE_API_URL}/pg/v1/pay`, { method: 'POST', headers: { 'Content-Type': 'application/json', - 'X-VERIFY': `${checksum}###${process.env.NEXT_PUBLIC_PHONEPE_API_KEY_INDEX}`, + 'X-VERIFY': xVerify, }, - body: payloadString, + body: raw, }); const data = await response.json();