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