I've read [here](https://stackoverflow.com/questions/49585331/handle-ipn-on-cloud-functions-of-firebase) that it's possible to send an IPN directly to a Google cloud function. I have my Google Cloud functions running on Firebase on an index.js file. 

I've set up my Paypal buttons to send the IPN to a page on my webapp.

Here is an example of one of the functions I'm running off Google Cloud Functions/Firebase:

```
// UPDATE ROOMS INS/OUTS
exports.updateRoomIns = functions.database.ref('/doors/{MACaddress}').onWrite((change, context) => {
    const beforeData = change.before.val(); 
    const afterData = change.after.val(); 
    const roomPushKey = afterData.inRoom; 
    const insbefore = beforeData.ins; 
    const insafter = afterData.ins; 
    if ((insbefore === null || insbefore === undefined) && (insafter === null || insafter === undefined) || insbefore === insafter) {
        return 0;
    } else {
        const updates = {};
        Object.keys(insafter).forEach(key => {
            updates['/rooms/' + roomPushKey + '/ins/' + key] = true;
        });
        return admin.database().ref().update(updates); // do the update} 
    }   
    return 0;
});

```

Now question:

1) I want to add another function to process IPN from Paypal as soon as I have a transaction. How would I go about this? 

*I'll mark the answer as correct if solves this first question.*

2) how would that Google cloud function even look like?

*I'll create another question if you can solve this one.*

Note I am using Firebase (no other databases nor PHP).