Funzioni cloud per Firebase – getaddrinfo ENOTFOUND

Cercando di fare una richiesta all’API di Paypal utilizzando 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); } }); }); }); 

ma ricevo costantemente un errore:

 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) 

Cose che ho provato:

  1. Fare una richiesta a un host completamente diverso, ancora ENOTFOUND
  2. Disporre la richiesta con cors(req,res, ()=>{...})
  3. Prepending https:// all’host

Qual è il problema?

Avrai bisogno di essere su un piano a pagamento per fare richieste API esterne.

Il piano Blaze di Firebase (pay as you go) ha un lotto gratuito per le Cloud Functions. https://firebase.google.com/pricing/