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

160
Vistas
¿Puedo usar una matriz como valor de metadatos?

Estoy tratando de crear un producto en Stripe (usando Next.js + Node) con metadatos del siguiente formato:

metadata: {categories: ['foo', 'bar']}

pero parece que no puedo solucionar los valores de solo cadena en los metadatos.

La creación de un producto en el tablero de instrumentos con corchetes en el resultado del valor de los metadatos, cuando se recupera:

categories: "['foo', 'bar']"

Intentando crear con Node:

 const new_product = await stripe.products.create({ name: 'new product', metadata: {categories: ['foo', 'bar']} })

resultó en:

Error: Invalid value type: {:"0"=>"foo", :"1"=>"bar"} must be a string

Esto confirma que el valor debe ser una cadena. Los documentos no estaban claros en cuanto a la asignación de tipo específico:

Puede especificar hasta 50 claves, con nombres de clave de hasta 40 caracteres y valores de hasta 500 caracteres.

Pero supongo que estoy atascado con valores de cadena en los metadatos.

¿Cuál es la mejor solución para esto?

Sé que puedo recorrer un objeto siempre que sus claves sean índices, pero también querré más claves y valores de metadatos. La delimitación de cuerdas usando split suena como un dolor. Estoy seguro de que hay más formas de usar los objetos JS de manera efectiva, pero estoy tratando de ser lo más simple posible, ya que los que no son desarrolladores también querrán crear productos que sigan este arquetipo.

Gracias por cualquier ayuda.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Stripe almacena estos datos como una sola cadena y AFAIK no hay forma de evitarlo.

Sin embargo, cuando se usa una biblioteca de Stripe como la de Node.js , convierte la cadena en un objeto que puede atravesar. Creé un producto con las mismas categorías que el código que compartió y pude acceder a la propiedad .categories usando la notación de puntos.

 const getProduct = async (id) => { console.log("Fetching product to evaluate metadata"); const product = await stripe.products.retrieve(id) const meta = product.metadata // console.log(meta); console.log(meta.categories); } node test.js Fetching product to evaluate metadata ["foo", "bar"]
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