在 firebase 函数上部署 braintree 服务器时出现意外错误

Unexpected Error when deploying braintree server on firebase functions

我在 Firebase 函数.

上遇到 Braintree 服务器节点 SDK 的问题

但奇怪的是它在我的本地服务器上运行良好(在本地使用 firebase serve)。

在 firebase 上,应用只是 return 错误对象上的 unexpectedError,而没有指定可理解的错误消息。

我什至尝试将网关对象的超时设置为较高的值,但问题仍然存在。

这是管理令牌生成的服务器代码部分:

const functions = require("firebase-functions");
const express = require("express");
const braintree = require("braintree");

var gateway = braintree.connect({
  environment: braintree.Environment.Sandbox,
  merchantId: "************",
  publicKey: "************",
  privateKey: "************"
});

app.get("/generate_token", function (req, res) {
  gateway.clientToken.generate({}, function (err, response) {
    if(response)
      res.send({error: false, token: response.clientToken});
    else
      res.send({error: true, errorObj: err, response: response});
  });
});

运行 本地代码 return 正确结果:

{"error": false, "token": "*********"}

但是在 firebase 上部署 运行 它 return 一个错误:

{
  "error": true,
  "errorObj": {
    "name": "unexpectedError",
    "type": "unexpectedError"
  }
}

对于免费层 (Spark) 上的 Firebase 项目,到非 Google 控制端点的传出套接字连接被阻止。这是为了防止自动滥用。您的项目需要升级到 Blaze 计划才能启用传出连接。用于开发目的的成本可能可以忽略不计,但您仍应在升级前检查 pricing page