Saltar al contenido

Troubleshooting

API v0.1.0
En esta página

Errores frecuentes al integrar el widget y cómo resolverlos.

Errores comunes

SíntomaCausa probableSolución
RutivaError: invalid_publishable_keyUsaste sk_ en frontend.Pasar pk_test_… o pk_live_….
RutivaError: invalid_client_secretclient_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 apareceSelector 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" siempreBackend en modo test devuelve fallos aleatorios.Verificar credenciales sk_live_ vs sk_test_.

Notas de seguridad

  • sk_ jamás en navegador — el widget lanza RutivaError si 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