Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

156
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda