diff --git a/.env b/.env index ed782b0..d787838 100644 --- a/.env +++ b/.env @@ -13,7 +13,7 @@ WEBHOOK_SECRET_KEY="whsec_m9u7CFBCY1qWarhxq65CkII6egOBf20K" STRIPE_SECRET_KEY="sk_test_51OhPRdSG6gbAOwcEid1GavJ4FTD0ZuHVTferdvJwKal77RlMtFJGBzL5GjtL0ie8ZJztsGjUWi8DWrnw1pDdDRGS005Hk0ahql" STRIPE_WEBHOOK_SECRET="whsec_dc9b9084fc764c806c8c5c06dd91de1ee809e9c8deab6d56e8e3ef2fc9c30c67" -FRONTEND_URL="http://127.0.0.1:5173" +FRONTEND_URL="https://smellika.com" SEND_EMAIL_FROM="hello@smellika.com" diff --git a/resources/Orders/StripeCheckOutController.js b/resources/Orders/StripeCheckOutController.js index 81f6417..f031fe1 100644 --- a/resources/Orders/StripeCheckOutController.js +++ b/resources/Orders/StripeCheckOutController.js @@ -79,7 +79,7 @@ export const handlePayment = async (req, res) => { shippingInfo: shipping, user: req.user._id, }); - console.log("fffffffff", order, "llllllllll"); + // console.log("fffffffff", order, "llllllllll"); const lineItems = await cart.map((item) => ({ price_data: { currency: "inr", @@ -108,8 +108,8 @@ export const handlePayment = async (req, res) => { // Allow only India for INR transactions }, billing_address_collection: "required", - success_url: "http://localhost:5173/order-complete", // Provide your success URL here - cancel_url: "http://localhost:5173/cart", + success_url: `${process.env.FRONTEND_URL}/order-complete`, // Provide your success URL here + cancel_url: `${process.env.FRONTEND_URL}/cart`, }); // res.json({ sessionId: session.id }); @@ -125,6 +125,7 @@ export const handlePayment = async (req, res) => { export const webhook = async (req, res) => { const webhookSecret = process.env.STRIPE_WEBHOOK_SECRET; + const signature = req.headers["stripe-signature"]; let event; if (webhookSecret) { @@ -142,7 +143,6 @@ export const webhook = async (req, res) => { } if (event.type === "checkout.session.completed") { - // console.log("dddddddddddd", event.data); const findOrder = await Order.findById(event.data.object.metadata?.orderId); findOrder.paypal_payer_id = event.data.object.id; findOrder.paidAt = new Date(event.data.object.created * 1000); @@ -154,20 +154,52 @@ export const webhook = async (req, res) => { } findOrder.orderStatus = "new"; await findOrder.save(); + + // Construct the HTML for the email + const itemRows = findOrder?.orderItems + .map( + (item) => + `
Great news! Your order #${findOrder?.orderID} has been confirmed. Here are the details:
+Item | +Quantity | +Price | +
---|
Shipping Address: ${findOrder?.shippingInfo.first_Name} ${findOrder?.shippingInfo.last_Name},${findOrder?.shippingInfo.postalCode}, + ${findOrder?.shippingInfo.street}, + ${findOrder?.shippingInfo.city}, + ${findOrder?.shippingInfo.state}, + ${findOrder?.shippingInfo.country} Phone number:${findOrder?.shippingInfo.phone_Number}
+Total: ₹${findOrder.total_amount}
+ +Great news! Your order #${findOrder?.orderID} has been confirmed. Here are the details
-