--- id: US-MKT-002 title: Comprar Paquete de Senales type: user-story status: Draft priority: High epic: OQI-009 project: trading-platform version: 1.0.0 dates: created: 2026-01-04 updated: 2026-01-04 tags: - marketplace - signals - purchase - user-story story_points: 13 sprint: TBD assignee: TBD --- # US-MKT-002: Comprar Paquete de Senales ## Historia de Usuario **Como** trader activo en la plataforma **Quiero** comprar paquetes de senales ML premium **Para** recibir senales de alta confianza que mejoren mis decisiones de trading ## Descripcion El usuario puede adquirir paquetes de senales premium en diferentes tiers (Basic, Pro, Unlimited). El proceso incluye seleccion, pago y activacion inmediata de los creditos de senales. ## Criterios de Aceptacion ### AC-001: Ver Opciones de Paquetes ```gherkin Given soy usuario autenticado When accedo a la seccion de Senales Premium Then veo los tres tiers disponibles: | tier | senales | precio | tipo | | Basic | 50 | $9 | one-time | | Pro | 200 | $29 | one-time | | Unlimited | ilimitado | $49/mes | subscription | And veo comparativa de caracteristicas And veo mi balance actual de creditos ``` ### AC-002: Seleccionar Paquete ```gherkin Given estoy viendo los paquetes disponibles When selecciono "Pro Pack - $29" Then veo resumen de la compra: | campo | valor | | Producto | Pro Signal Pack | | Precio | $29.00 USD | | Creditos | 200 senales | | Validez | 60 dias | | Confidence minimo | 80% | And veo boton "Proceder al pago" ``` ### AC-003: Proceso de Pago ```gherkin Given he seleccionado un paquete And tengo metodo de pago guardado When confirmo la compra Then se procesa el pago via OQI-004-payments And veo indicador de procesamiento And si es exitoso, veo confirmacion And si falla, veo mensaje de error claro ``` ### AC-004: Activacion de Creditos ```gherkin Given el pago fue exitoso Then mis creditos se activan inmediatamente And veo mi nuevo balance de creditos And recibo email de confirmacion con: | contenido | | Numero de orden | | Creditos agregados | | Fecha de expiracion | | Link a historial | ``` ### AC-005: Suscripcion Unlimited ```gherkin Given selecciono "Unlimited - $49/mes" When completo el proceso de pago Then mi suscripcion se activa And tengo acceso ilimitado a senales And veo fecha de proxima renovacion And recibo email con terminos de suscripcion ``` ### AC-006: Renovacion Automatica ```gherkin Given tengo suscripcion Unlimited activa When llega la fecha de renovacion Then se cobra automaticamente $49 And mi suscripcion se extiende 1 mes And recibo notificacion de renovacion ``` ### AC-007: Cancelar Suscripcion ```gherkin Given tengo suscripcion Unlimited activa When accedo a "Gestionar suscripcion" And selecciono "Cancelar" Then veo advertencia de lo que perderé And confirmo cancelacion And la suscripcion termina al final del periodo pagado And recibo confirmacion de cancelacion ``` ### AC-008: Ver Creditos Disponibles ```gherkin Given tengo creditos de senales When accedo a mi dashboard de senales Then veo: | informacion | ejemplo | | Creditos disponibles | 150/200 | | Fecha expiracion | 2026-03-04 | | Senales usadas hoy | 3 | | Suscripcion activa | Si/No | ``` ## Mockups ### Seleccion de Paquete ``` +----------------------------------------------------------+ | SENALES PREMIUM | | Potencia tu trading con senales ML de alta precision | +----------------------------------------------------------+ | | | Tu balance actual: 15 creditos | | | | +----------------+ +----------------+ +----------------+ | | BASIC | | PRO | | UNLIMITED | | | | | POPULAR | | | | | 50 senales | | 200 senales | | Ilimitado | | | | | | | | | | $9 | | $29 | | $49/mes | | | | | | | | | | * Conf. 80%+ | | * Conf. 80%+ | | * Conf. 75%+ | | | * 30 dias | | * 60 dias | | * Sin limite | | | * Push+Email | | * Push+Email | | * Push+Email | | | | | * Prioridad | | * Prioridad | | | | | | | * Exclusivas | | | | | | | | | | [COMPRAR] | | [COMPRAR] | | [SUSCRIBIR] | | +----------------+ +----------------+ +----------------+ | | +----------------------------------------------------------+ ``` ### Confirmacion de Compra ``` +----------------------------------------------------------+ | CONFIRMAR COMPRA | +----------------------------------------------------------+ | | | Pro Signal Pack | | 200 senales ML de alta confianza | | | | Resumen: | | +----------------------------------------------------+ | | | Creditos 200 senales | | | | Validez 60 dias | | | | Confidence minimo 80% | | | | Precio $29.00 USD | | | +----------------------------------------------------+ | | | | Metodo de pago: | | [**** **** **** 4242] [Cambiar] | | | | [ ] Acepto los terminos y condiciones | | | | [ CONFIRMAR COMPRA - $29.00 ] | | | +----------------------------------------------------------+ ``` ### Compra Exitosa ``` +----------------------------------------------------------+ | CHECK VERDE | | Compra Exitosa! | +----------------------------------------------------------+ | | | Orden #ORD-2026-001234 | | | | Has agregado 200 creditos de senales | | Nuevo balance: 215 creditos | | Validos hasta: 2026-03-04 | | | | Un email de confirmacion ha sido enviado a | | usuario@email.com | | | | [Ver mis senales] [Volver al marketplace] | | | +----------------------------------------------------------+ ``` ## Flujo de Usuario ```mermaid flowchart TD A[Usuario en Marketplace] --> B[Ver Senales Premium] B --> C[Seleccionar Paquete] C --> D{Tiene metodo pago?} D -->|No| E[Agregar metodo pago] D -->|Si| F[Confirmar compra] E --> F F --> G[Procesar pago] G --> H{Pago exitoso?} H -->|No| I[Mostrar error] I --> F H -->|Si| J[Activar creditos] J --> K[Mostrar confirmacion] K --> L[Enviar email] ``` ## Notas Tecnicas ### API Endpoints - `GET /api/marketplace/products?type=signal_pack` - Listar paquetes - `POST /api/marketplace/purchases` - Crear compra - `GET /api/marketplace/credits` - Ver creditos - `POST /api/subscriptions` - Crear suscripcion - `DELETE /api/subscriptions/:id` - Cancelar suscripcion ### Payload de Compra ```typescript interface PurchaseRequest { productId: string; paymentMethodId: string; acceptedTerms: boolean; } interface PurchaseResponse { orderId: string; status: 'completed' | 'pending' | 'failed'; credits: { added: number; newBalance: number; expiresAt: string; }; receipt: { url: string; emailSent: boolean; }; } ``` ### Integracion con Pagos ```typescript // Flujo de compra async function purchaseSignalPack(productId: string) { // 1. Validar producto const product = await getProduct(productId); // 2. Procesar pago via OQI-004 const payment = await processPayment({ amount: product.price, currency: 'USD', productId: product.id }); // 3. Activar creditos if (payment.status === 'succeeded') { await activateCredits(userId, product.metadata.credits); } // 4. Crear registro de compra await createPurchaseRecord(payment, product); } ``` ## Definicion de Done - [ ] Vista de paquetes con comparativa - [ ] Flujo de compra one-time funcional - [ ] Flujo de suscripcion funcional - [ ] Activacion inmediata de creditos - [ ] Emails de confirmacion enviados - [ ] Gestion de suscripcion (cancelar) - [ ] Dashboard de creditos actualizado - [ ] Manejo de errores de pago - [ ] Tests unitarios - [ ] Tests E2E flujo completo - [ ] Tests de integracion con pagos ## Dependencias - **RF-MKT-002**: Requerimiento de senales premium - **OQI-004-payments**: Procesamiento de pagos - **OQI-006-ml-signals**: Sistema de senales ## Referencias - [RF-MKT-002: Senales Premium](../requerimientos/RF-MKT-002-senales-premium.md) - [ET-MKT-001: Database](../especificaciones/ET-MKT-001-database.md) - [ET-MKT-002: API](../especificaciones/ET-MKT-002-api.md)