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

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

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 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!