Troubleshooting
API v0.1.0En esta página
Errores frecuentes al integrar el widget y cómo resolverlos.
Errores comunes
| Síntoma | Causa probable | Solución |
|---|---|---|
RutivaError: invalid_publishable_key | Usaste sk_ en frontend. | Pasar pk_test_… o pk_live_…. |
RutivaError: invalid_client_secret | client_secret malformado o tipeado mal. | Verificar shape pi_<id>_secret_<token>. |
Evento expired | > 15 min desde POST /v1/payments. | Crear nuevo intent server-side. |
| Widget no aparece | Selector mount inválido. | Verificar #id existe o pasar HTMLElement. |
Shadow root cannot be created… | Re-mount sin destroy() previo. | Llamar widget.destroy() antes de montar un nuevo widget en el mismo nodo. |
| Estilos del site afectan widget | (no debería pasar) | Reportar issue — Shadow DOM debería aislar. |
status === "failed" siempre | Backend en modo test devuelve fallos aleatorios. | Verificar credenciales sk_live_ vs sk_test_. |
Notas de seguridad
sk_jamás en navegador — el widget lanzaRutivaErrorsi lo detecta.- OTP nunca se loggea ni se filtra en eventos emitidos.
- Provenance verificado: cada release npm está firmado con sigstore.
CSP / SRI
CSP-friendly. Sin unsafe-inline, sin unsafe-eval:
bash
script-src 'self' cdn.jsdelivr.net;
connect-src 'self' rutiva-api.onrender.com;Subresource Integrity soportado:
bash
<script
src="https://cdn.jsdelivr.net/npm/@rutiva/widget@0.1/dist/rutiva.iife.js"
integrity="sha384-..."
crossorigin="anonymous"
></script>Genera el hash con:
bash
curl -s https://cdn.jsdelivr.net/npm/@rutiva/widget@0.1/dist/rutiva.iife.js \
| openssl dgst -sha384 -binary | openssl base64 -A