Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

155
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!