Seguridad
El comprador ingresa su tarjeta en el checkout hospedado del proveedor. Por la API solo viajan referencias, montos y estados, así tu sistema no toca datos de tarjeta.
Datos que no debes enviar
Nunca envíes a la API (ni en metadata, description ni external_reference): número de tarjeta,
CVV/CVC, datos de banda ni PIN. La API no tiene dónde guardarlos y sus registros los ocultan
automáticamente. Tampoco pongas datos personales sensibles del comprador en metadata.
API keys
| Aspecto | Cómo funciona |
|---|---|
| Formato | pay_sb_<prefijo>_<secreto> (sandbox) y pay_live_<prefijo>_<secreto> (producción) |
| Uso | header Authorization: Bearer <api key> en cada llamada |
| Emisión | POST /v1/admin/api-credentials devuelve el secreto una sola vez; después solo ves el prefijo |
| Almacenamiento | la plataforma guarda solo un hash; si pierdes una key, crea otra y revoca la anterior |
| Revocación | POST /v1/admin/api-credentials/{id}/revoke; una key revocada responde 401 AUTH_KEY_REVOKED |
| Límite | por aplicación, 120 solicitudes por minuto por defecto (429 RATE_LIMIT_EXCEEDED) |
Recomendaciones:
- Guarda las keys como secretos de tu infraestructura, nunca en el código ni en el frontend.
- Llama a la API solo desde tu backend. El navegador del comprador nunca debe ver tu API key.
- Rota las keys de forma periódica: crea la nueva, despliégala y revoca la anterior.
- Usa una aplicación distinta por sistema; así puedes revocar una sin afectar a las otras.
Webhooks
- Verifica siempre la firma
X-Pay-Signaturey la ventana de 5 minutos deX-Pay-Timestampantes de confiar en un aviso. Ver Webhooks. - En producción, tu endpoint debe ser
httpsen el puerto 443 con dominio público: la API rechazalocalhosty direcciones privadas, y lo vuelve a comprobar al enviar cada aviso. - Trata el secreto del webhook como una API key.
Credenciales de los proveedores
Las credenciales de Transbank o Mercado Pago de tu comercio se entregan una vez al configurar el proveedor y nunca se devuelven por la API. Tu sistema no necesita conocerlas.
Qué más hace la plataforma por ti
| Protección | Detalle |
|---|---|
| Confirmación con el proveedor | un pago se autoriza solo cuando el proveedor lo confirma, no por el retorno del navegador |
| Avisos de proveedores verificados | cada aviso de Transbank o Mercado Pago se valida con su firma antes de usarse |
| Errores sin filtraciones | respuestas de error uniformes, sin detalles internos ni respuestas crudas del proveedor |
| Límites de tamaño | los bodies grandes se rechazan con 413 PAYLOAD_TOO_LARGE |
| Separación de ambientes | sandbox y producción no comparten datos ni API keys |
| Auditoría | los cambios de API keys, proveedores y webhooks quedan registrados |