wixStores_onNewOrder not triggered after order placed- urgent help !!!

hi WIX community,
I need urgent help from everyone,
in event.js backend code, I have following to do some extra steps after an order is placed.

export function wixStores_onNewOrder(event) {
console.log( “geting order :” +event.orderId);
getFullOrder(event.orderId)
.then( async (order) => {
setOrderNumber(order.cartId, order.number);
});
}

Basically, I add a table to store customer delivery date/time. this table has only cart id. Until order placed, an order # will be created. The event code supposed write order number into the table so deliver date/time can attach to order # ( more readable than cartid). Further more, the delivery date/time will be recorded to track shipping capacity for that date/time. Just fyi, the code is mostly copied from example of ‘custom delivery time’, https://www.wix.com/velo/example/delivery-time. All respect to author of the example.

I tested wixStores_onNewOrder(event), by manually providing event like following.
{
“event” : {
“orderId” : “6c182135-2b84-4846-9b2a-1dbe31936bc4”
}

}
the order id is a real id in prod read-only order table. and in test table ‘delivery’, i have its cartid along with deliver date/time. It worked as expected, event triggered inserting order# into test data ‘delivery’. And it also write anothre table to track deliver date/time count.
But in prod site, after I placed order ( paid by palpay, order infor properly stored in ‘order’ table), nothing happens in prod table ‘delivery’. No order# written. Nor delivery date/time recorded.
Base on the fact that it works in dev mode if I manually provide/trigger event, I can only imagine, in prod site, for some reason, even order successfully placed, the wixStores_onNewOrder(event) is not triggered.
I did similar on wixStores_onOrderPaid, works in dev mode by manually trigger event. But in prod site, order placed, no order number write to ‘delivery’ tabl e.
BTW, the tables have been provided with anyone written permission, so that is not an issue.
Pls let me know your thoughts, suggestions. I’d really appreciate.

Below is the entire event.js as reference.

import wixData from ‘wix-data’ ;
import wixStores from ‘wix-stores-backend’ ;

const CONSTANTS = {
PICKUP_TITLE: ‘Pickup from store’ ,
PICKUP_TIME: ‘00:00’
}

function setOrderNumber(cartId, orderNumber) {
wixData.query( ‘deliveries’ )
.eq( ‘cartId’ , cartId)
.find()
.then((results) => {
if (results.items.length > 0 ) {
const item = results.items[ 0 ];
deliveryUpdate(cartId, orderNumber, item);
setDeliverySlot(item.date, item.deliveryTime);
} else {
console.log( ‘Cart ID ’ + cartId + ’ not found’ );
}
})
. catch ((err) => {
console.error( ‘deliveryUpdate error’ , err);
});
}

function deliveryUpdate(cartId, orderNumber, itemToUpdate) {
wixData.get( ‘deliveries’ , itemToUpdate._id)
.then((item) => {
item.orderNumber = orderNumber + ‘’ ;
wixData.update( ‘deliveries’ , item);
})
. catch ((err) => {
console.error( ‘deliveryUpdate error’ , err);
});
}

function updateDeliveryAvailability(item) {
wixData.get( ‘deliveries-availability’ , item._id)
.then(result => {
result.counter = result.counter + 1 ;
wixData.update( ‘deliveries-availability’ , result);
})
. catch ((err) => {
console.error( ‘updateDeliveryAvailability error’ , err);
});
}

function insertDeliveryAvailability(datObj, slot) {
let toInsert = {
‘deliveryDate’ : datObj,
‘deliveryTime’ : slot,
‘counter’ : 1
};

wixData.insert( 'deliveries-availability' , toInsert) 
    .then((response) => { 
        console.log( 'deliveries-availability insert' , response) 
    }) 
    . catch ((err) => { 
        console.error( 'insertDeliveryAvailability error' , err); 
    }); 

}

function setDeliverySlot(date, slot) {
const datObj = new Date(date).toDateString();

wixData.query( 'deliveries-availability' ) 
    .eq( 'deliveryDate' , datObj) 
    .find() 
    .then((results) => { 

if (results.items.length > 0 ) {
const itemToUpdate = results.items[ 0 ];

if (itemToUpdate.deliveryTime === slot) {
updateDeliveryAvailability(itemToUpdate); // date & slot exist
} else {
insertDeliveryAvailability(datObj, slot); // date exists, slot does not
}
} else {
insertDeliveryAvailability(datObj, slot); // date does not exist
}
})
. catch ((err) => {
console.error( ‘setDeliverySlot error’ , err);
});
}

export function wixStores_onNewOrder(event) {
console.log( “geting order :” +event.orderId);
getFullOrder(event.orderId)
.then( async (order) => {
setOrderNumber(order.cartId, order.number);
});
}

//export function wixStores_onOrderPaid(event) {
// console.log("order paid event triggered by "+event);
// setOrderNumber( event.cartId, event.number);
//}

function getFullOrder(orderId) {
console.log( “geting order :” +orderId);
return wixData.get( ‘Stores/Orders’ , orderId);
}

Firstly the filename is " event s .js " not " event.js " - you seem to be missing a “s”

Second, please format your code properly, its very difficult to debug like this. Take a look at the posting guidelines if needed.

Bro, I love you. You are awesome. That is so far the best help I got from our community. Yes, it’s the file name missing ‘s’. After i changed file name, everything works as expect. Thank you so much.
Yes, your second suggestion is great too. I will format my code next time. I didn’t even realize it’s hard to read as it looks just ok for me. for that, I found this topic, not sure if keep code between and would make code readable?

@louiezzzlu haha glad to help

Select the code after typing it in and click the code snippet icon which shows up (see screenshot)

@shantanukumar847 thank you again. that is good tip too. It will help me next time i ask for help as people could read my code easier.