Traducido automáticamente del inglés.

Leer en inglés
Proxy Mail QA

Prueba códigos de cupón desde el registro hasta el pago

Una oferta de bienvenida tiene más piezas de lo que parece: el correo tiene que llegar, el código tiene que funcionar una vez y tiene que dejar de funcionar cuando corresponde. Regístrate con una cuenta de prueba nueva, obtén el cupón con su descuento y fecha de fin, y registra lo que hizo el pago con él.

Actualizado el

Por qué los flujos de cupones fallan sin avisar

Cómo ayuda Proxy Mail QA

  1. Regístrate para la oferta en tu sitio de staging con una dirección nueva.
  2. Ve el cupón en la página Cuentas y en la bandeja de entrada: el código con Copiar, su descuento (“20% de descuento”), su fecha de fin y cuánto tardó en llegar desde que se creó la dirección. Pasada su fecha de fin aparece como “Vencido” y se puede seguir copiando, para que pruebes que el pago lo rechaza.
  3. Aplícalo en el pago con pagos de prueba y luego registra el resultado en la bandeja de entrada: Aceptado, Rechazado o un error, con el mensaje que mostró tu app.
  4. Lee el veredicto. Falla un cupón aceptado después de su fecha de fin, aceptado dos veces siendo de un solo uso, o aceptado para una oferta que una persona ya reclamó. Un error da una advertencia.

Qué comprobar

En una prueba

offer.spec.ts
const submitted = new Date();
await page.getByRole('button', { name: 'Get 20% off' }).click();
// Offers often take minutes: this waits up to 10.
const coupon = await qa.waitForCode(address, { type: 'coupon', since: submitted, timeout: 600 });
expect(coupon.discount).toBe('20% off');
expect(coupon.after_seconds).toBeLessThan(300);
await page.getByLabel('Promo code').fill(coupon.value);
await page.getByRole('button', { name: 'Apply' }).click();
const first = await qa.recordCouponResult(address, 'accepted', { oneTime: true });
expect(first.check?.status).toBe('pass');
// The same code again should be refused.
await page.getByLabel('Promo code').fill(coupon.value);
await page.getByRole('button', { name: 'Apply' }).click();
const again = await qa.recordCouponResult(address, 'rejected', { message: await page.getByRole('alert').innerText() });
expect(again.check?.status).not.toBe('fail');

Los agentes conectados al MCP server obtienen lo mismo con wait_for_code (kind coupon) y record_coupon_result, y el prompt test_coupon_checkout recorre la ronda completa en staging.

Úsalo en tu próxima prueba de registro

Plan gratuito, sin tarjeta de crédito. Crea una dirección y mira cómo llega el código o el enlace.

Crear una cuenta gratuitaAbrir la aplicación

Preguntas

¿Tengo que activar algo?

Sí, por ahora. Correos de marketing y ofertas está en Labs: actívalo en la app en Account settings → Labs. También se aplica a tu claves de API y a tus agentes; hasta entonces, sus herramientas de marketing responden con un error que lo indica.

¿Proxy Mail QA hace el pago por mí?

No. Nunca abre enlaces ni hace pagos. Tu prueba, tu agente o tú aplican el cupón en tu sitio de staging con pagos de prueba y luego registran lo que pasó.

¿Y si el correo no dice cuándo vence el cupón?

La comprobación de coupon_expiry da una advertencia, porque la gente lo preguntará. Cuando sí lo dice, como "válido hasta el 31 de octubre" o "válido por 7 días", la fecha de fin aparece junto al cupón.

¿Puedo usar esto para conseguir cupones de otras tiendas?

No. Crear cuentas para reclamar ofertas de servicios que no son tuyos es fraude e incumple nuestros términos. Estas cuentas son para probar tus propias ofertas en desarrollo, staging o QA.

¿Por qué mi espera de código de inicio de sesión no devolvió el cupón?

Las esperas simples dejan fuera los cupones, para que una prueba de inicio de sesión nunca escriba por error un código de descuento en el campo del código. Pide un cupón con tipo coupon, o kind coupon para agentes.

¿Creaste tu app con una herramienta de IA? Elige la tuya

¿Tienes una pregunta sobre esta página?

Pregunta en cualquier idioma. La documentación puede responderte de inmediato, o puedes enviar tu pregunta al equipo de Proxy Mail QA, que responde en inglés.