【发布时间】:2019-08-13 08:05:50
【问题描述】:
我已阅读here ,可以将 IPN 直接发送到 Google 云功能。我的 Google Cloud 功能在 Firebase 上的 index.js 文件上运行。
我已设置我的 Paypal 按钮以将 IPN 发送到我的 web 应用上的页面。
这是我在 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;
});
现在的问题:
1) 我想添加另一个功能来处理来自 Paypal 的 IPN,一旦我有交易。我该怎么办?
如果解决了第一个问题,我会将答案标记为正确。
2) 谷歌云功能会是什么样子?
如果你能解决这个问题,我会创建另一个问题。
注意我使用的是 Firebase(没有其他数据库也没有 PHP)。
【问题讨论】:
标签: firebase-realtime-database paypal google-cloud-functions paypal-ipn