Tengo esto:
const paymentIntents = await stripe.paymentIntents.list({ stripeAccount: stripe_account });y devuelve:
object: 'list', data: [ { id: 'pi_...', object: 'payment_intent', amount: 2500, ahora tengo dos problemas. 1. Necesito acceder a la amount . y 2. se devolverán docenas de registros, por lo que necesito recorrer todos los resultados y sumar las amounts . esto es lo que he intentado hasta ahora:
console.log(paymentIntents.amount) console.log(paymentIntents.data.amount)ninguno de los dos funcionó. y ni siquiera sabría cómo recorrer todos esos resultados. ¿Cómo puedo hacer esto?
Tenga en cuenta que si espera acercarse al límite de 100 resultados para una solicitud de lista, debe asegurarse de manejar la paginación , por ejemplo, utilizando la paginación automática admitida por stripe-node :
let total = 0 stripe.paymentIntents.list({limit: 5}) .autoPagingEach(function(pi) { total += pi.amount }); Tenga en cuenta que esta estructura requiere iteración y excluye el uso de soluciones de tipo reduce en las otras respuestas. Si su conjunto de resultados esperado no se acerca al límite de 100 elementos, establezca su límite de manera adecuada y no se preocupe por esto.
puedes usar reducir así:
const paymentIntents = {object: 'list', data: [{ id: 'pi_...', object: 'payment_intent', amount: 2500}, { id: 'pi_...', object: 'payment_intent_2', amount: 3500, }]} const amount = paymentIntents.data.reduce((previous, current, index, array) => { const sum = current.amount + previous.amount; return sum; }); const paymentIntents = await stripe.paymentIntents.list({ stripeAccount: stripe_account }); const total = paymentIntents.data.reduce( (listTotal, line) => listTotal + line.amount, 0 );