Estoy creando una función de nube de Firebase que se conecta al sitio web del comerciante y solicita un objeto PaymentIntent.
Estoy enviando la llamada API a través de axios:
exports.getPaymentIntent = functions.https.onCall(async (data, context) => { // Initialise dependencies const axios = require('axios') const FormData = require('form-data') // Assemble payload let formData = new FormData() formData.append('amount', '10.99') ... try { const response = await axios.post('merchant.com/getPaymentIntent', formData, { headers: { 'X-API-KEY': 'myPrivateKey' } }) return response } catch (error) { return error } })Cuando ejecuto la función, falla con el siguiente error de axios:
Error no controlado RangeError: se excedió el tamaño máximo de la pila de llamadas
No puedo averiguar por qué sucede esto. Eliminar los encabezados de la solicitud tampoco cambia el mensaje de error.
¿Hay algo que pueda intentar arreglar esto, por favor?
Encontré la solución pocas respuestas profundas aquí .
Tuve que agregar un encabezado adicional en la solicitud (encima del encabezado X-API-KEY ):
'Content-Type': multipart/form-data; boundary=${formData._boundary} .
Establecerlo como solo multipart/form-data no funcionaría, así que asegúrese de incluir el límite.