Я прочитал здесь , что можно отправлять IPN напрямую в облачную функцию Google.У меня есть функции Google Cloud, работающие на Firebase для файла index.js.
Я настроил свои кнопки Paypal для отправки IPN на страницу в моем веб-приложении.
Вот пример одной из функций, которые я запускаю из облачных функций Google / 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;
});
Теперь вопрос:
1) Я хочу добавить еще одну функцию для обработки IPN из Paypal, как только у меня будет транзакция.Как бы я пошел по этому поводу?
Я отмечу ответ как правильный, если решу этот первый вопрос.
2) как будет выглядеть эта облачная функция Google?
Я создам еще один вопрос, если вы сможете решить этот вопрос.
Примечание. Я использую Firebase (никаких других баз данных и PHP).