代码之家  ›  专栏  ›  技术社区  ›  Eliya Cohen

在Firebase的云函数上处理IPN

  •  1
  • Eliya Cohen  · 技术社区  · 8 年前

    关于我的客户,我有一个订单,里面有我想买的东西。当我“签出”订单时,我会向我的firebase云功能发送一个请求,该功能会通过一个指向在线支付交易的链接进行响应。客户完成交易后,公司(提供在线支付服务的公司)将向我的一个云功能发送请求,该功能将处理支付。

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

    如何存储新数据?我知道有了firestore,我可以简单地使用 .set(..) 方法

    1 回复  |  直到 8 年前
        1
  •  1
  •   Eliya Cohen    8 年前

    我从评论中得到了答案(感谢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(...)
    

    就是这样。其实很简单。

    推荐文章