Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

180
Vistas
Obtenga más de 100 datos de carga de Stripe API en Node JS

Estoy tratando de obtener todos los datos de carga de la api de banda. De forma predeterminada, Stripe no permite obtener más de 100 datos y tengo miles de datos allí. Hay un campo en la franja llamado has_more , que proporciona información sobre si hay más datos a través de su valor verdadero/falso. Ahora. Estoy tratando de automatizar el proceso en el nodo js para que, en primer lugar, una llamada API para obtener 100 datos, luego verifique si has_more es verdadero. Si es verdadero, tomará la identificación del último objeto en los datos y comenzará a obtener datos después de esa identificación y seguirá haciéndolo hasta que has_more devuelva falso.

He hecho esto hasta ahora, que obtiene solo los primeros 100 datos. ¿Alguien puede dar alguna idea sobre el siguiente proceso?

 async function getData() { const data = await axios.get( `${URL}?created%5Bgte%5D=${created}&created%5Blte%5D=${createdEnd}&limit=${limit}`, { headers: { Authorization: `Bearer ${bearer}`, "Stripe-Account": `${stripe_account}`, }, } ); return data; }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Lo haría:

 async function getData(startingAfter) { let url = `${URL}?created%5Bgte%5D=${created}&created%5Blte%5D=${createdEnd}&limit=${limit}` // if they pass in a startingAfter param, use it if (typeof startingAfter !== 'undefined') { url += `&starting_after=${startingAfter}` } const data = await axios.get(url , { headers: { Authorization: `Bearer ${bearer}`, "Stripe-Account": `${stripe_account}`, }, } ); // if there is more, add the additional items to this list, and // then set hasMore to false (since we fetched them all) if (data.hasMore) { const more = await getData(data[data.length - 1].id); data.data.push(...more.data) data.hasMore = false; } return data; }

Esto obtendrá los primeros 100 elementos, verá que tiene más y luego llamará a getData(100) (bueno, getData('ch_whatever_the_id_is_for_#_100') ), que obtendrá los siguientes 100 elementos, luego llamará a getData(200) , etc. etc. etc., y luego su llamada inicial terminará con la lista completa.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Debe instalar la biblioteca oficial de stripe-node y usar la paginación automática incorporada de la biblioteca.

https://stripe.com/docs/api/pagination/auto?lang=node

¿También estás usando axios en la interfaz? No puede hacer eso, ya que eso significaría que está exponiendo su clave API de Stripe secreta en la interfaz, los cargos de lista son una llamada API de backend (por lo que debería poder instalar y usar stripe-node https://github.com /stripe/stripe-node )

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda