Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cloud Functions for Firebase - getaddrinfo ENOTFOUND

Trying to make a request to Paypal's API using PayPal-node-SDK

exports.requestPayment = functions.https.onRequest((req, res) => {     return new Promise(function (fullfilled, rejected) {         paypal.payment.create(create_payment_json, {}, function (error, payment) {             if (error) {                 rejected(error);             } else {                 console.log("Create Payment Response");                 console.log(payment);                 res.status(200).send(JSON.stringify({                     paymentID: payment.id                 })).end();                 fullfilled(payment);             }         });      }); }); 

but I'm constantly getting an error:

Error: getaddrinfo ENOTFOUND api.sandbox.paypal.com api.sandbox.paypal.com:443     at errnoException (dns.js:28:10)     at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26) 

Things I've tried:

  1. Making a request to a totally different host, still ENOTFOUND
  2. Wrapping the request with cors(req,res, ()=>{...})
  3. Prepending https:// to the host

What is the problem?

like image 229
user47376 Avatar asked Mar 13 '17 22:03

user47376


People also ask

Should I use Firebase cloud functions?

You should use Cloud Functions for Firebase if you're a developer building a mobile app or mobile web app. Firebase gives mobile developers access to a complete range of fully managed mobile-centric services including analytics, authentication and Realtime Database.

How do cloud functions work in Firebase?

Cloud Functions for Firebase is a serverless framework that lets you automatically run backend code in response to events triggered by Firebase features and HTTPS requests. Your JavaScript or TypeScript code is stored in Google's cloud and runs in a managed environment.


2 Answers

You'll need to be on a paid plan to make external API requests.

Firebase's Blaze plan (pay as you go) has a free allotment for Cloud Functions. https://firebase.google.com/pricing/

like image 164
James Daniels Avatar answered Sep 20 '22 16:09

James Daniels


in my situation I had to wait and let what ever lag was happening pass. Now it's fine again.

like image 32
Levi Winans Avatar answered Sep 22 '22 16:09

Levi Winans