Minor imporvements and logs

This commit is contained in:
Joao Ramos
2024-03-06 18:59:11 +00:00
parent 8e1fe15a24
commit 87a1d7c288
3 changed files with 113 additions and 97 deletions

View File

@@ -42,16 +42,14 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
if (!trackingId)
return res.status(401).json({ ok: false, reason: "Missing tracking id!" });
const request = await axios.post(
`${process.env.PAYPAL_ACCESS_TOKEN_URL}/v2/checkout/orders/${id}/capture`,
{},
{
headers: {
Authorization: `Bearer ${accessToken}`,
"PayPal-Client-Metadata-Id": trackingId,
},
}
);
const url = `${process.env.PAYPAL_ACCESS_TOKEN_URL}/v2/checkout/orders/${id}/capture`;
const headers = {
headers: {
Authorization: `Bearer ${accessToken}`,
"PayPal-Client-Metadata-Id": trackingId,
},
};
const request = await axios.post(url, {}, headers);
if (request.data.status === "COMPLETED") {
const user = req.session.user;
@@ -73,25 +71,24 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
},
{ merge: true }
);
try {
await setDoc(
doc(db, 'paypalpayments', v4()),
{
orderId: id,
userId: req.session.user.id,
status: request.data.status,
createdAt: new Date().toISOString(),
value: request.data.purchase_units[0].payments.captures[0].amount.value,
currency: request.data.purchase_units[0].payments.captures[0].amount.currency_code,
subscriptionDuration: duration,
subscriptionDurationUnit: duration_unit,
subscriptionExpirationDate: updatedExpirationDate.toISOString(),
}
);
} catch(err) {
console.error('Failed to insert paypal payment!', err);
}
try {
await setDoc(doc(db, "paypalpayments", v4()), {
orderId: id,
userId: req.session.user.id,
status: request.data.status,
createdAt: new Date().toISOString(),
value: request.data.purchase_units[0].payments.captures[0].amount.value,
currency:
request.data.purchase_units[0].payments.captures[0].amount
.currency_code,
subscriptionDuration: duration,
subscriptionDurationUnit: duration_unit,
subscriptionExpirationDate: updatedExpirationDate.toISOString(),
});
} catch (err) {
console.error("Failed to insert paypal payment!", err);
}
if (user.type === "corporate") {
const snapshot = await getDocs(collection(db, "groups"));
@@ -123,10 +120,8 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
return res.status(200).json({ ok: true });
}
res
.status(404)
.json({
ok: false,
reason: "Order ID not found or purchase was not approved!",
});
res.status(404).json({
ok: false,
reason: "Order ID not found or purchase was not approved!",
});
}