处理Firebase云功能的IPN

时间:2018-03-31 07:24:30

标签: typescript firebase google-cloud-functions

在我的客户,我有一个订单,其中包含我想要购买的商品。当我“结帐”订单时,我向我的firebase云功能发送请求,该功能响应链接到在线支付交易。在客户完成交易后,公司(提供在线支付服务的服务)的请求将被发送到我的一个云计算职能部门,该计算机将处理付款。

我验证付款后,我想将付款的新数据存储到订单中(例如状态,完成日期等)。

如何存储新数据?我知道使用firestore我只需使用.set(..)方法。

1 个答案:

答案 0 :(得分:1)

我从评论中得到了答案(感谢Oleskii Miroshnyk)。由于Oleskii没有将其作为答案发布,所以我会。

首先,我们需要导入firebase-admin

import * as admin from 'firebase-admin';

或在Javascript中:

const admin = require('firebase-admin');

之后,我们需要像这样初始化我们的应用程序:

const serviceAccount = require('../service-account-key.json');

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: 'https://{PROJECT-ID}.firebaseio.com'
});

service-account-key.json可以在您的firebase设置中找到。

完成配置后,我可以访问firestore方法,如下所示:

const firestore = admin.firestore();

firestore.collection(...).doc(...).set(...)

那就是它。实际上非常简单。