Merge branch 'dev' into qa

This commit is contained in:
Benoy Bose 2025-04-16 03:53:43 +05:30
commit 5bc3d6dfff
3 changed files with 40 additions and 40 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

View File

@ -11,3 +11,4 @@ GOOGLE_MAPS_API_KEY=#{GOOGLE_MAPS_API_KEY}#
FITLIENHOST=#{FITLIENHOST}#
CASHFREE_URL=#{CASHFREE_URL}#
CASHFREE_LINK_URL=#{CASHFREE_LINK_URL}#
CASHFREE_LINK_NOTIFY_URL=#{CASHFREE_LINK_NOTIFY_URL}#

View File

@ -524,6 +524,7 @@ export const createCashfreeLink = onRequest({
const clientId = process.env.CASHFREE_CLIENT_ID;
const clientSecret = process.env.CASHFREE_CLIENT_SECRET;
let apiUrl = process.env.CASHFREE_LINK_URL;
console.log(`API URL: ${apiUrl}`);
if (!clientId || !clientSecret) {
logger.error('Cashfree credentials not configured');
@ -533,46 +534,43 @@ export const createCashfreeLink = onRequest({
const linkId = uuidv4();
try {
const options = {
method: 'POST',
headers: {
'x-api-version': '2025-01-01',
'x-client-id': `${process.env.CASHFREE_CLIENT_ID}`,
'x-client-secret': `${process.env.CASHFREE_CLIENT_SECRET}`,
'Content-Type': 'application/json'
},
body: `{
"customer_details": {
"customer_email": "${customerEmail}",
"customer_name": "${customerName}",
"customer_phone": "${customerPhone}"
},
"link_amount": ${amount},
"link_auto_reminders": true,
"link_currency": "INR",
"link_expiry_time": "${expirationString}",
"link_id": "${linkId}",
"link_meta": {
"notify_url": "https://ee08e626ecd88c61c85f5c69c0418cb5.m.pipedream.net",
"return_url": "https://www.cashfree.com/devstudio/thankyou",
"upi_intent": false
},
"link_notes": {
"userId": "${userId}",
"gymId": "${gymId}",
"orderId": "${orderId}",
"requestUserId": "${uid}"
},
"link_notify": {
"send_email": true,
"send_sms": true
},
"link_partial_payments": false,
"link_purpose": "${productInfo}",
"order_splits": []
}`
const requestHeqaders = {
'x-client-id': clientId,
'x-client-secret': clientSecret,
'x-api-version': '2025-01-01',
'Content-Type': 'application/json'
};
const cashfreeResponse = await axios.post(apiUrl!, options);
console.log(`Header: ${JSON.stringify(requestHeqaders)}`);
const requestBody = {
"link_id": linkId,
"link_amount": amount,
"link_currency": "INR",
"link_purpose": productInfo,
"customer_details": {
"customer_phone": customerPhone,
"customer_email": customerEmail,
"customer_name": customerName,
},
"link_partial_payments": false,
"link_notify": {
"send_sms": true,
"send_email": true
},
"link_expiry_time": expirationString,
"link_notes": {
"order_id": orderId,
"gym_id": gymId,
"user_id": userId
},
"link_meta": {
"notify_url": process.env.CASHFREE_LINK_NOTIFY_URL
}
};
console.log(`Body: ${JSON.stringify(requestBody)}`);
const cashfreeResponse = await axios.post(apiUrl!, requestBody, {
headers: requestHeqaders
});
try {
await admin.firestore().collection('payment_links').doc(orderId).set({
requestUserId: uid,
@ -594,7 +592,8 @@ export const createCashfreeLink = onRequest({
linkId: linkId,
linkUrl: cashfreeResponse.data.link_url,
linkExpiryTime: cashfreeResponse.data.link_expiry_time,
linkStatus: cashfreeResponse.data.link_status
linkStatus: cashfreeResponse.data.link_status,
linkQRCode: cashfreeResponse.data.link_qrcode
});
} catch (axiosError: any) {