Claves de Debi (pago con tarjeta)
El pago con tarjeta usa Debi. Cada sitio configura sus claves en WooCommerce → Ajustes → Pagos → Debi Payment.
Una sola configuración, sin "modo sandbox"
Antes había que cargar dos tokens (vivo y de prueba), dos claves publicables y un tilde de “modo sandbox”. Ahora se carga un único par de claves y el entorno se deduce del prefijo: ya no existe el tilde de sandbox.
Qué se carga
- Secret key (clave secreta): empieza con
sk_test_…(pruebas) osk_live_…(producción). Se usa sólo del lado del servidor; nunca llega al navegador. - Publishable key (clave publicable): empieza con
pk_test_…opk_live_…. Es pública y la usa el formulario de tarjeta del checkout para tokenizar.
Ambas claves deben pertenecer al mismo entorno. El sistema lo verifica.
Cómo se entiende el entorno
El prefijo manda:
| Prefijo | Entorno |
|---|---|
sk_test_ / pk_test_ | TEST (sandbox, pruebas) |
sk_live_ / pk_live_ | PRODUCCIÓN |
En la pantalla de ajustes se muestra una etiqueta con el entorno detectado y un botón “Test connection” (Probar conexión) que confirma que la clave secreta es válida y está viva, e informa si es de prueba o de producción.
Validaciones que evitan errores
- Si se pega una clave secreta en el campo de publicable (o viceversa), no deja guardar.
- Si la secret y la publishable son de entornos distintos (una de prueba y otra de producción), no deja guardar.
- El endpoint que entrega la clave publicable al checkout nunca devuelve una clave secreta: si por error hubiera una
sk_…en el campo publicable, se ignora.
En el frontend (cdc-landings)
La clave publicable que usa el checkout viene siempre del sitio (de esta configuración), entregada por la API. No hay variable de entorno ni valor global de respaldo: si un sitio no tiene su clave cargada, el pago con tarjeta queda deshabilitado en ese sitio (en lugar de usar por error la clave de otra cuenta).
Migración por única vez
Las instalaciones que venían con las claves viejas se migran una sola vez con el script
bin/migrate-debi-keys.php, que copia las claves activas al nuevo par y borra los campos viejos. Después de migrar, sólo quedansecret_keyypublishable_key.