Ir al contenido

Llaves y activación

Cada cliente tiene dos entornos independientes, test y live. En cada uno hay cuatro tipos de credencial:

Credencial Para qué sirve Dónde vive Visible
Llave pública pk_… Identificar el comercio y el entorno Configuraciones, soporte Siempre
Llave secreta sk_… Autenticar servidor a servidor al conector de Magento Magento (Yape Connector), cifrada Solo al crearla
Código de activación Enlazar un teléfono con el comercio Se escribe o escanea una vez en la app Al generarlo
Credencial de dispositivo Firmar las peticiones del teléfono Keystore del teléfono Solo el teléfono
  • Prefijo legible por tipo y entorno: pk_test_…, sk_live_…. Facilita detectar filtraciones.
  • Del secreto solo guardamos el hash; si lo pierdes, rótalo.
  • Una llave test jamás funciona contra datos live, y viceversa.
  • Rotación con solape: crea la llave nueva, actualiza el conector y revoca la anterior cuando ya no se use.
  • Puedes restringir la llave secreta a una lista de IP permitidas.
  • El panel muestra fecha de creación, último uso y origen de cada llave.
sequenceDiagram
    autonumber
    participant O as Dueño (panel)
    participant A as App
    participant P as Plataforma
    O->>P: Genera código de activación
    P-->>O: Código de un solo uso (vence en 15 min)
    O->>A: Escribe o escanea el código
    A->>P: activation(código, versión de app)
    P-->>A: device_id, secreto de dispositivo, licencia
    A->>A: Guarda el secreto en Android Keystore
  • El código es de un solo uso, vence en 15 minutos y tiene intentos limitados.
  • Falla si la licencia está suspendida o vencida, o si se alcanzó el máximo de dispositivos (1 por defecto).
  • Activar otro teléfono reemplaza al anterior, que queda revocado.
Estado Efecto
Activa Funciona con normalidad
En gracia Sin conexión, la app sigue válida ~7 días desde el último latido correcto
Suspendida / vencida La plataforma rechaza envíos (403); la app sigue guardando localmente y envía los pendientes al reactivarse