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

140
Vistas
raya entero inválido NaN REACTJS

Sigo recibiendo este error y no estoy seguro de por qué. Estoy seguro de que estoy siguiendo la documentación correctamente. ¿Me he perdido algo aquí? ¿Por qué Stripe no puede recoger el valor?

https://stripe.com/docs/api/payment_intents/update . https://stripe.com/docs/pagos/aceptar-un-pago

sesión de rayas

 const stripe = require("stripe")(process.env.NEXT_PUBLIC_STRIPE_SECRET_KEY); console.log(process.env.NEXT_PUBLIC_STRIPE_SECRET_KEY); export default async (req, res) => { // const { items} = req.body; console.log(items); const session = await stripe.checkout.sessions.create({ payment_method_types: ["card"], line_items: [ { price_data: { currency: 'pln', product_data: { name: items.name, }, unit_amount: items.price * 100, }, quantity: 1, }, ], mode: "payment", success_url: "http://localhost:3000/Success", cancel_url: "http://localhost:3000/Cancel", }); res.status(200).json({ id: session.id }); };

Elementos: esto también aparece en la consola.

 { "name": "poznan", "description": "hey", "price": 9.99 }

error de sesión de pago

 [ { name: 'poznan', description: 'hey', price: 9.99 } ] error - Error: Invalid integer: NaN

registro de bandas

 parameter_invalid_integer - line_items[0][price_data][unit_amount] { "payment_method_types": { "0": "card" }, "line_items": { "0": { "price_data": { "currency": "pln", "unit_amount": "NaN" }, "quantity": "1" } },
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Creo que la variable de sus artículos es una matriz y, dado que está tratando de acceder al precio del campo en una matriz, el items.price * 100 se evalúa como undefined * 100 , lo que le da el valor de NaN para unit_amount . Debe acceder a items[0].price en lugar de items.price o si está recibiendo varios items ¿por qué no mapear su matriz en line_items así:

 line_items: items.map((item)=> ({ price_data: { currency: 'pln', product_data: { name: item.name, }, unit_amount: item.price * 100, }, quantity: 1, }, })),
about 4 years ago · Juan Pablo Isaza Denunciar

0

Necesario para mapear a través de los objetos y hacer un retorno implícito

 export default async (req, res) => { // const { items} = req.body; console.log(items); const transformedItems = items.map(item => ({ description: item.description, quantity: 1, price_data: { currency: 'gbp', unit_amount: item.price * 100, product_data: { name: item.name, }, } })); const session = await stripe.checkout.sessions.create({ payment_method_types: ['card'], line_items: transformedItems, mode: "payment", success_url: "http://localhost:3000/Success", cancel_url: "http://localhost:3000/Cancel", }); res.status(200).json({ id: session.id });
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