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

338
Vistas
¿Cómo actualizar el cupón de Stripe "times_redeemed" manualmente desde api? NodoJS

Estoy tratando de aplicar un cupón mientras estoy creando una intención de pago en stripe. Todo va bien, pero no puedo actualizar manualmente la cantidad de veces que se usó ese cupón.

Revisé el documento de la raya, pero no encontré nada. ¿Alguien puede ayudar?

Este es el documento específico del cupón de Stripe: Documento API de objeto de cupón de Stripe

ingrese la descripción de la imagen aquí

Este es mi código donde estoy cambiando el precio de acuerdo con el porcentaje de descuento del cupón. Todo va bien, pero al final, cuando llamo a la función updateCoupon, me muestra un error.

 import { stripe } from "../utils/stripeInstance"; export const createPaymentIntent = async (req, res) => { try { const { tplan, couponCode, cust_id } = req.body; console.log("Coupon Code==>", couponCode); let price = 0; //coupon redeemed let cr = 0; if (tplan === "smash") price = 599 * 100; else if (tplan === "smash+") price = 999 * 100; else return res.status(400).send("Invalid plan"); console.log("Price Before Coupon==>", price); if (couponCode) { const coupon = await stripe.coupons.retrieve(couponCode); if (coupon.valid) { price = price - (price * coupon.percent_off) / 100; cr = coupon.times_redeemed; } } console.log("Price After Coupon==>", price); const paymentIntent = await stripe.paymentIntents.create({ amount: price, currency: "inr", payment_method_types: ["card"], customer: cust_id, }); const updateCoupon = await stripe.coupons.update(couponCode, { times_redeemed: cr + 1, metadata: { used: true, }, }); return res.status(200).send({ paymentId: paymentIntent.id, status: paymentIntent.status, clientSecret: paymentIntent.client_secret, }); } catch (err) { res.status(500).json({ statusCode: 500, message: err.message }); } };

El error es solo cuando estoy actualizando el cupón llamando a la función updateCoupon anterior. Esto se muestra como un error.

Error de actualización de cupón de Stripe

Básicamente, lo que asumo es que no obtiene los atributos adecuados, es posible que haya otra forma correcta de hacerlo. Alguien me puede ayudar, gracias ❤️

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

0

Las únicas cosas sobre un cupón que puede actualizar una vez que se crea son los metadata y las propiedades del name , como se especifica aquí .

Stripe incrementa times_redeemed cuando se aplica un cupón a la compra de un cliente como parte de una factura.

Sin embargo, parece que hay una gran confusión aquí. La razón por la que tiene que escribir todas estas funciones (recuperar el cupón, modificar el monto a cobrar, etc.) es que está tratando de aplicar cupones a cargos únicos con Intentos de pago.

También por qué Stripe no permite la actualización manual de times_redeemed . Está pensado como un contador interno y solo se incrementa a medida que procesa un cargo en el que se aplicó el código de cupón.

Los cupones no funcionan con cargos únicos convencionales.

-- Ref. API de banda

Puede revisar cómo se supone que funcionan los cupones de Stripe con las suscripciones aquí .

Si desea ofrecer a sus clientes una forma de aplicar sus propios cupones de descuento al monto que cobra, deberá mantener esos registros en sus propios modelos de datos. Puede utilizar el objeto Stripe Coupon como punto de partida y diseñar sus propios registros de base de datos.

Pero en la actualidad, Stripe no admite cupones para compras únicas.

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