2017-12-04 12 views
0

Braintree 서버 노드 SDK에 대해 Fire Base 기능에 문제가 있습니다.firebase 함수에 braintree 서버를 배포 할 때 예기치 않은 오류가 발생했습니다.

하지만 이상한 부분은 로컬 서버 (firebase 서브 로컬 사용)에서 잘 작동한다는 것입니다.

firebase에서 앱은 이해할 수없는 오류 메시지를 지정하지 않고 오류 객체에 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}); 
    }); 
}); 

:

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

을하지만, 중포 기지에 배치하고 오류를 반환 실행 여기에

토큰 생성을 관리 내 서버 코드의 일부 :

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

프로젝트가 블레이즈 계획에 있습니까? –

+0

@DougStevenson 아니, 현재 나는 스파크 플랜에있다. (무료) – Atef

답변

1

자유 계층 (스파크)의 Firebase 프로젝트의 경우, Google이 제어하지 않는 엔드 포인트에 대한 연결은 차단됩니다. 이는 자동 남용을 방지하기위한 것입니다. 나가는 연결을 사용하려면 프로젝트를 Blaze 계획으로 업그레이드해야합니다. 개발을위한이 비용은 아마도 무시할 수 있지만 업그레이드하기 전에 pricing page을 확인해야합니다.

+0

나에게 논리적 인 것처럼 보인다. 왜냐하면 나는 아직 dev 모드로 지불하고 있기 때문에 옵션이 아니다. 그래서 나는 지금 heroku로 옮겼다. – Atef