diff --git a/supabase/functions/handle-order-paid/index.ts b/supabase/functions/handle-order-paid/index.ts index 1940d94..2e811ac 100644 --- a/supabase/functions/handle-order-paid/index.ts +++ b/supabase/functions/handle-order-paid/index.ts @@ -51,13 +51,21 @@ serve(async (req: Request): Promise => { .single(); if (orderError || !order) { - console.error("[HANDLE-PAID] Order not found:", order_id); + console.error("[HANDLE-PAID] Order not found:", order_id, orderError); return new Response( JSON.stringify({ success: false, error: "Order not found" }), { status: 404, headers: { ...corsHeaders, "Content-Type": "application/json" } } ); } + console.log("[HANDLE-PAID] Order found:", JSON.stringify({ + id: order.id, + payment_status: order.payment_status, + order_items_count: order.order_items?.length || 0, + consulting_slots_count: order.consulting_slots?.length || 0, + consulting_slots: order.consulting_slots + })); + const userEmail = order.profiles?.email || ""; const userName = order.profiles?.full_name || "Pelanggan"; const orderItems = order.order_items as Array<{ @@ -76,16 +84,24 @@ serve(async (req: Request): Promise => { }>; const isConsultingOrder = consultingSlots && consultingSlots.length > 0; + console.log("[HANDLE-PAID] isConsultingOrder:", isConsultingOrder, "consultingSlots:", consultingSlots); + if (isConsultingOrder) { console.log("[HANDLE-PAID] Consulting order detected, processing slots"); // Update consulting slots status from pending_payment to confirmed - await supabase + const { error: updateError } = await supabase .from("consulting_slots") .update({ status: "confirmed" }) .eq("order_id", order_id) .in("status", ["pending_payment"]); + console.log("[HANDLE-PAID] Slot update result:", { updateError, order_id }); + + if (updateError) { + console.error("[HANDLE-PAID] Failed to update slots:", updateError); + } + if (consultingSlots && consultingSlots.length > 0) { for (const slot of consultingSlots) { try {