Saltar al contenido principal

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​

AspectoCómo funciona
Formatopay_sb_<prefijo>_<secreto> (sandbox) y pay_live_<prefijo>_<secreto> (producción)
Usoheader Authorization: Bearer <api key> en cada llamada
EmisiónPOST /v1/admin/api-credentials devuelve el secreto una sola vez; después solo ves el prefijo
Almacenamientola plataforma guarda solo un hash; si pierdes una key, crea otra y revoca la anterior
RevocaciónPOST /v1/admin/api-credentials/{id}/revoke; una key revocada responde 401 AUTH_KEY_REVOKED
Límitepor 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-Signature y la ventana de 5 minutos de X-Pay-Timestamp antes de confiar en un aviso. Ver Webhooks.
  • En producción, tu endpoint debe ser https en el puerto 443 con dominio público: la API rechaza localhost y 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ónDetalle
Confirmación con el proveedorun pago se autoriza solo cuando el proveedor lo confirma, no por el retorno del navegador
Avisos de proveedores verificadoscada aviso de Transbank o Mercado Pago se valida con su firma antes de usarse
Errores sin filtracionesrespuestas de error uniformes, sin detalles internos ni respuestas crudas del proveedor
Límites de tamañolos bodies grandes se rechazan con 413 PAYLOAD_TOO_LARGE
Separación de ambientessandbox y producción no comparten datos ni API keys
Auditoríalos cambios de API keys, proveedores y webhooks quedan registrados