Portal de Desarrolladores

Cafetito Hooks 107 hooks

Más de 100 hooks para personalizar donaciones, pagos, correos y visualización en Cafetito.

Cafetito · plugin de WordPress Portal de Desarrolladores Ver plugin
0 hooks mostrados

Ciclo de vida 5

cafetito_loadedAction

Se dispara una vez que el plugin ha terminado de arrancar y todos sus componentes están cargados. Es el momento recomendado para que los complementos registren sus propias pasarelas, ajustes o callbacks contra Cafetito, porque el contenedor y los registros están listos en este punto.

Parámetros
NombreTipoDescripcion
$plugin`Cafetito\Plugin`El objeto principal del plugin, que da acceso a sus registros y servicios.

Fuente: includes/Plugin.php:122

PHP
add_action( 'cafetito_loaded', function ( $plugin ) {
    // The plugin is fully initialized here.
    error_log( 'Cafetito is ready.' );
}, 10, 1 );
cafetito_activatedAction

Se dispara cuando se activa el plugin, después de que el instalador haya creado o actualizado las tablas de la base de datos y registrado las capacidades. Úsalo para sembrar opciones por defecto o ejecutar tareas de activación únicas para tu extensión.

Fuente: includes/Installer.php:36

PHP
add_action( 'cafetito_activated', function () {
    add_option( 'my_addon_installed_at', time() );
} );
cafetito_deactivatedAction

Se dispara cuando se desactiva el plugin, después de que Cafetito haya realizado su propia limpieza de los eventos programados. Úsalo para limpiar las tareas programadas o el estado transitorio de tu complemento.

Fuente: includes/Installer.php:50

PHP
add_action( 'cafetito_deactivated', function () {
    wp_clear_scheduled_hook( 'my_addon_cron' );
} );
cafetito_uninstalledAction

Se dispara desde la rutina de desinstalación después de que Cafetito haya eliminado sus propios datos. Úsalo para borrar cualquier opción, tabla o archivo que haya creado tu extensión para que la desinstalación sea completa.

Fuente: uninstall.php:50

PHP
add_action( 'cafetito_uninstalled', function () {
    delete_option( 'my_addon_settings' );
} );
cafetito_admin_loadedAction

Se dispara cuando la capa de administración de Cafetito ha terminado de inicializarse (menús, tablas de lista y servicios de administración). Úsalo para enganchar comportamiento adicional solo de administración que dependa de que los objetos de administración de Cafetito estén disponibles.

Parámetros
NombreTipoDescripcion
$admin`Cafetito\Admin\Admin`La instancia del controlador de administración.

Fuente: includes/Admin/Admin.php:40

PHP
add_action( 'cafetito_admin_loaded', function ( $admin ) {
    // Register extra admin behavior here.
}, 10, 1 );

Ajustes y capacidades 8

cafetito_capabilitiesFilter

Filtra la lista de roles de WordPress que reciben la capacidad de gestión de Cafetito cuando se instala el plugin. Por defecto solo se concede a administrator. Añade slugs de rol para ampliar el acceso.

Parámetros
NombreTipoDescripcion
$roles`string[]`*Valor a devolver.* Array de slugs de rol que deben recibir la capacidad.

Fuente: includes/Installer.php:146

PHP
add_filter( 'cafetito_capabilities', function ( $roles ) {
    $roles[] = 'shop_manager';
    return $roles;
} );
cafetito_admin_menu_capabilityFilter

Filtra la capacidad requerida para ver y acceder al menú de administración de Cafetito. Úsalo para relajar o restringir quién puede llegar a las pantallas del plugin.

Parámetros
NombreTipoDescripcion
$capability`string`*Valor a devolver.* El slug de capacidad requerido para el menú (por defecto es la capacidad de gestión de Cafetito).

Fuente: includes/Admin/Menu.php:65

PHP
add_filter( 'cafetito_admin_menu_capability', function ( $capability ) {
    return 'manage_options';
} );
cafetito_settings_tabsFilter

Filtra las pestañas mostradas en la página de ajustes. Añade una entrada para registrar una nueva pestaña de ajustes proporcionada por tu extensión.

Parámetros
NombreTipoDescripcion
$tabs`array`*Valor a devolver.* Mapa de slug de pestaña a etiqueta de pestaña.

Fuente: includes/Admin/Settings.php:70

PHP
add_filter( 'cafetito_settings_tabs', function ( $tabs ) {
    $tabs['my_addon'] = __( 'My Add-on', 'my-addon' );
    return $tabs;
} );
cafetito_default_settingsFilter

Filtra los valores de ajustes por defecto para un grupo de ajustes dado. Se dispara una vez por grupo (por ejemplo general y email), con el nombre del grupo como segundo argumento. Úsalo para proporcionar valores por defecto para tus propios ajustes o sobrescribir los del plugin.

Parámetros
NombreTipoDescripcion
$defaults`array`*Valor a devolver.* Mapa de clave de ajuste a valor por defecto para el grupo.
$group`string`El grupo de ajustes al que se le aplican los valores por defecto (por ejemplo general o email).

Fuente: includes/Admin/Settings.php:97 (primaria). Disparado en 2 ubicaciones (Settings.php:97 y Settings.php:123).

PHP
add_filter( 'cafetito_default_settings', function ( $defaults, $group ) {
    if ( 'general' === $group ) {
        $defaults['my_option'] = 'default value';
    }
    return $defaults;
}, 10, 2 );
cafetito_settings_savedAction

Se dispara después de guardar una pestaña de ajustes. Úsalo para reaccionar a cambios de configuración, por ejemplo para vaciar cachés o recalcular opciones derivadas.

Parámetros
NombreTipoDescripcion
$tab`string`El slug de la pestaña de ajustes que se guardó.

Fuente: includes/Admin/Settings.php:230

PHP
add_action( 'cafetito_settings_saved', function ( $tab ) {
    if ( 'general' === $tab ) {
        // React to saved general settings.
    }
} );
cafetito_settings_render_tabAction

Se dispara mientras se renderiza la página de ajustes para que una pestaña personalizada pueda imprimir sus propios campos. Se pasa el slug de la pestaña actual para que solo renderices cuando tu pestaña esté activa.

Parámetros
NombreTipoDescripcion
$current`string`El slug de la pestaña que se está renderizando actualmente.
$settings`Cafetito\Admin\Settings`La instancia del servicio de ajustes, para leer los valores actuales.

Fuente: includes/Admin/SettingsPage.php:106

PHP
add_action( 'cafetito_settings_render_tab', function ( $current, $settings ) {
    if ( 'my_addon' === $current ) {
        echo '<p>My add-on settings go here.</p>';
    }
}, 10, 2 );
cafetito_settings_gateway_itemsAction

Se dispara dentro de la sección de pasarelas de la página de ajustes para que las pasarelas de complementos puedan renderizar sus controles de configuración junto a las integradas.

Parámetros
NombreTipoDescripcion
$settings`Cafetito\Admin\Settings`La instancia del servicio de ajustes.

Fuente: includes/Admin/SettingsPage.php:203

PHP
add_action( 'cafetito_settings_gateway_items', function ( $settings ) {
    // Output configuration UI for a custom gateway.
}, 10, 1 );
cafetito_settings_groupsAction

Se dispara mientras se renderiza una pestaña de ajustes para permitir añadir grupos de ajustes (secciones) extra a esa pestaña. Se pasa el slug de la pestaña para que la salida pueda ser condicional.

Parámetros
NombreTipoDescripcion
$tab`string`El slug de la pestaña que se está renderizando.
$settings`Cafetito\Admin\Settings`La instancia del servicio de ajustes.

Fuente: includes/Admin/SettingsPage.php:708

PHP
add_action( 'cafetito_settings_groups', function ( $tab, $settings ) {
    if ( 'general' === $tab ) {
        // Render an extra settings group.
    }
}, 10, 2 );

Pasarelas y métodos de pago 6

cafetito_gatewaysFilter

Filtra el array de pasarelas de pago registradas. Es el principal punto de extensión para añadir una pasarela personalizada a Cafetito: añade tu instancia de pasarela al array.

Parámetros
NombreTipoDescripcion
$gateways`array`*Valor a devolver.* Array de instancias de pasarela indexadas por id de pasarela.

Fuente: includes/Gateways/GatewayRegistry.php:132

PHP
add_filter( 'cafetito_gateways', function ( $gateways ) {
    $gateways['my_gateway'] = new My_Gateway();
    return $gateways;
} );
cafetito_gateway_registeredAction

Se dispara cada vez que se registra una pasarela en el registro. Úsalo para reaccionar cuando una pasarela concreta pasa a estar disponible, por ejemplo para enganchar hooks específicos de la pasarela.

Parámetros
NombreTipoDescripcion
$gateway`Cafetito\Gateways\GatewayInterface`La instancia de pasarela que se registró.

Fuente: includes/Gateways/GatewayRegistry.php:107

PHP
add_action( 'cafetito_gateway_registered', function ( $gateway ) {
    error_log( 'Gateway registered: ' . $gateway->get_id() );
}, 10, 1 );
cafetito_default_gatewayFilter

Filtra el id de la pasarela usada por defecto cuando no se selecciona ninguna explícitamente. Por defecto es la primera pasarela disponible. Devuelve un id de pasarela distinto para cambiar el valor por defecto.

Parámetros
NombreTipoDescripcion
$gateway_id`string`*Valor a devolver.* El id de la pasarela por defecto.

Fuente: includes/Gateways/GatewayRegistry.php:88

PHP
add_filter( 'cafetito_default_gateway', function ( $gateway_id ) {
    return 'redsys';
} );
cafetito_redsys_endpointFilter

Filtra la URL del endpoint de Redsys resuelta para un tipo de operación y entorno dados. Úsalo para apuntar las solicitudes a un endpoint personalizado o alternativo.

Parámetros
NombreTipoDescripcion
$url`string`*Valor a devolver.* La URL del endpoint resuelta.
$type`string`El tipo de endpoint que se está resolviendo (por ejemplo el endpoint de redirección o REST).
$test`bool`Si se está usando el entorno de pruebas (sandbox).

Fuente: includes/Gateways/Redsys/RedsysEndpoints.php:73

PHP
add_filter( 'cafetito_redsys_endpoint', function ( $url, $type, $test ) {
    return $url;
}, 10, 3 );
cafetito_redsys_request_paramsFilter

Filtra los parámetros enviados a Redsys al iniciar o procesar un pago. Úsalo para añadir o ajustar parámetros de comercio antes de que la solicitud se firme y se envíe. El tercer argumento es el contexto de pago, que es null para algunos flujos (como los reembolsos).

Parámetros
NombreTipoDescripcion
$params`array`*Valor a devolver.* Los parámetros de la solicitud a Redsys.
$transaction`Cafetito\Payments\Transaction`La transacción que se está procesando.
$context`Cafetito\Payments\PaymentContext|null`El contexto de pago, o null cuando no aplica.

Fuente: includes/Gateways/Redsys/RedsysGateway.php:222 (primaria). Disparado en 2 ubicaciones (RedsysGateway.php:222 y RedsysGateway.php:298).

PHP
add_filter( 'cafetito_redsys_request_params', function ( $params, $transaction, $context ) {
    $params['DS_MERCHANT_MERCHANTDATA'] = 'custom';
    return $params;
}, 10, 3 );
cafetito_redsys_error_messagesFilter

Filtra el mapa de códigos de error de Redsys a mensajes legibles usado al mostrar errores de reembolso y de operación. Añade o sobrescribe códigos para personalizar el texto mostrado a los administradores.

Parámetros
NombreTipoDescripcion
$messages`array`*Valor a devolver.* Mapa de código de error de Redsys (por ejemplo SIS0057) a su cadena de mensaje.

Fuente: includes/Admin/RefundController.php:330

PHP
add_filter( 'cafetito_redsys_error_messages', function ( $messages ) {
    $messages['SIS0058'] = __( 'Response data is not valid.', 'my-addon' );
    return $messages;
} );

Ciclo de vida del pago y la transacción 10

cafetito_transaction_createdAction

Se dispara inmediatamente después de crear y persistir una nueva transacción, antes de redirigir al visitante a la pasarela. Úsalo para registrar o enriquecer la transacción con tus propios metadatos.

Parámetros
NombreTipoDescripcion
$transaction`Cafetito\Payments\Transaction`La transacción recién creada.

Fuente: includes/Payments/PaymentProcessor.php:186

PHP
add_action( 'cafetito_transaction_created', function ( $transaction ) {
    // Persist extra data linked to this transaction.
}, 10, 1 );
cafetito_transaction_status_changedAction

Se dispara cada vez que una transacción transiciona de un estado a otro. Es el lugar central para reaccionar a cualquier cambio de estado, recibiendo tanto el estado anterior como el nuevo para que puedas ramificar según la transición concreta.

Parámetros
NombreTipoDescripcion
$transaction`Cafetito\Payments\Transaction`La transacción cuyo estado cambió.
$old_status`string`El estado anterior.
$new_status`string`El nuevo estado.

Fuente: includes/Payments/PaymentProcessor.php:132

PHP
add_action( 'cafetito_transaction_status_changed', function ( $transaction, $old_status, $new_status ) {
    error_log( sprintf( 'Transaction %s: %s -> %s', $transaction->get_id(), $old_status, $new_status ) );
}, 10, 3 );
cafetito_payment_completedAction

Se dispara cuando un pago se completa correctamente. Úsalo para desencadenar la preparación del pedido, sincronizar con un CRM o ejecutar cualquier lógica posterior al pago.

Parámetros
NombreTipoDescripcion
$transaction`Cafetito\Payments\Transaction`La transacción completada.

Fuente: includes/Payments/PaymentProcessor.php:140

PHP
add_action( 'cafetito_payment_completed', function ( $transaction ) {
    // Grant access, send to CRM, etc.
}, 10, 1 );
cafetito_payment_failedAction

Se dispara cuando un pago falla. Úsalo para alertar al personal o registrar el fallo para su seguimiento.

Parámetros
NombreTipoDescripcion
$transaction`Cafetito\Payments\Transaction`La transacción fallida.

Fuente: includes/Payments/PaymentProcessor.php:147

PHP
add_action( 'cafetito_payment_failed', function ( $transaction ) {
    // Notify or log the failure.
}, 10, 1 );
cafetito_payment_cancelledAction

Se dispara cuando se cancela un pago (por ejemplo, el visitante aborta en la pasarela). Úsalo para limpiar o registrar la cancelación.

Parámetros
NombreTipoDescripcion
$transaction`Cafetito\Payments\Transaction`La transacción cancelada.

Fuente: includes/Payments/PaymentProcessor.php:154

PHP
add_action( 'cafetito_payment_cancelled', function ( $transaction ) {
    // Handle cancellation.
}, 10, 1 );
cafetito_before_redirectAction

Se dispara justo antes de redirigir al visitante a la pasarela para completar el pago. Úsalo para registro de última hora o para establecer datos de sesión vinculados al contexto de pago.

Parámetros
NombreTipoDescripcion
$transaction`Cafetito\Payments\Transaction`La transacción que se está iniciando.
$context`Cafetito\Payments\PaymentContext`El contexto de pago para esta redirección.

Fuente: includes/Payments/PaymentProcessor.php:215

PHP
add_action( 'cafetito_before_redirect', function ( $transaction, $context ) {
    // Pre-redirect bookkeeping.
}, 10, 2 );
cafetito_transactions_queryFilter

Filtra los argumentos de la consulta usados para obtener transacciones del repositorio. Úsalo para restringir o ampliar las consultas de transacciones de forma global.

Parámetros
NombreTipoDescripcion
$args`array`*Valor a devolver.* Los argumentos de la consulta.

Fuente: includes/Payments/TransactionRepository.php:274

PHP
add_filter( 'cafetito_transactions_query', function ( $args ) {
    $args['number'] = 50;
    return $args;
} );
cafetito_order_refFilter

Filtra la referencia de pedido generada para una transacción a partir de su id interno. Úsalo para personalizar el formato de la referencia pasada a la pasarela.

Parámetros
NombreTipoDescripcion
$order_ref`string`*Valor a devolver.* La referencia de pedido generada.
$id`int`El id interno de la transacción usado para construir la referencia.

Fuente: includes/Payments/PaymentProcessor.php:331

PHP
add_filter( 'cafetito_order_ref', function ( $order_ref, $id ) {
    return $order_ref;
}, 10, 2 );
cafetito_event_loggedAction

Se dispara después de que Cafetito escriba una entrada en el log de eventos de una transacción. Úsalo para reflejar los eventos en un sistema externo de registro o monitorización.

Parámetros
NombreTipoDescripcion
$transaction_id`int`El id de la transacción a la que pertenece el evento.
$event`string`El tipo o código del evento.
$message`string`El mensaje del log.

Fuente: includes/Support/Logger.php:68

PHP
add_action( 'cafetito_event_logged', function ( $transaction_id, $event, $message ) {
    // Forward to external logging.
}, 10, 3 );
cafetito_transaction_log_contextFilter

Filtra el array de datos contextuales adjunto a una entrada de log de transacción antes de almacenarse. Úsalo para añadir contexto estructurado a tus eventos registrados.

Parámetros
NombreTipoDescripcion
$context`array`*Valor a devolver.* Los datos de contexto del log.
$event`string`El tipo de evento al que pertenece el contexto.
$transaction_id`int`El id de la transacción relacionada.

Fuente: includes/Support/Logger.php:46

PHP
add_filter( 'cafetito_transaction_log_context', function ( $context, $event, $transaction_id ) {
    $context['source'] = 'my-addon';
    return $context;
}, 10, 3 );

Reembolsos 5

cafetito_can_refundFilter

Filtra si se permite reembolsar una transacción dada. Cafetito calcula un valor inicial a partir del soporte de reembolso de la pasarela y el estado de la transacción; devuelve false para bloquear, o true para permitir, según tus propias reglas.

Parámetros
NombreTipoDescripcion
$can_refund`bool`*Valor a devolver.* Si se permite el reembolso.
$transaction`Cafetito\Payments\Transaction`La transacción en cuestión.

Fuente: includes/Payments/PaymentProcessor.php:246

PHP
add_filter( 'cafetito_can_refund', function ( $can_refund, $transaction ) {
    if ( $transaction->get_amount()->amount() > 100000 ) {
        return false;
    }
    return $can_refund;
}, 10, 2 );
cafetito_refund_amountFilter

Filtra el importe a reembolsar de una transacción antes de emitir el reembolso. Úsalo para limitar o ajustar el importe del reembolso.

Parámetros
NombreTipoDescripcion
$amount`Cafetito\Payments\Money`*Valor a devolver.* El importe a reembolsar.
$transaction`Cafetito\Payments\Transaction`La transacción que se está reembolsando.

Fuente: includes/Payments/PaymentProcessor.php:258

PHP
add_filter( 'cafetito_refund_amount', function ( $amount, $transaction ) {
    return $amount;
}, 10, 2 );
cafetito_before_refundAction

Se dispara justo antes de enviar una solicitud de reembolso a la pasarela. Úsalo para registro previo al reembolso o efectos secundarios de validación.

Parámetros
NombreTipoDescripcion
$transaction`Cafetito\Payments\Transaction`La transacción que se está reembolsando.
$amount`Cafetito\Payments\Money`El importe que está a punto de reembolsarse.

Fuente: includes/Payments/PaymentProcessor.php:274

PHP
add_action( 'cafetito_before_refund', function ( $transaction, $amount ) {
    // Pre-refund logic.
}, 10, 2 );
cafetito_refund_completedAction

Se dispara después de que la pasarela haya procesado correctamente un reembolso. Úsalo para notificar al donante, ajustar la contabilidad o sincronizar el reembolso en otro lugar.

Parámetros
NombreTipoDescripcion
$transaction`Cafetito\Payments\Transaction`La transacción reembolsada.
$amount`Cafetito\Payments\Money`El importe que se reembolsó.
$result`Cafetito\Payments\RefundResult`El objeto de resultado devuelto por la pasarela.

Fuente: includes/Payments/PaymentProcessor.php:311

PHP
add_action( 'cafetito_refund_completed', function ( $transaction, $amount, $result ) {
    // Post-refund handling.
}, 10, 3 );
cafetito_refund_failedAction

Se dispara cuando un intento de reembolso falla en la pasarela. Úsalo para alertar al personal o registrar el fallo con el resultado de la pasarela para su diagnóstico.

Parámetros
NombreTipoDescripcion
$transaction`Cafetito\Payments\Transaction`La transacción cuyo reembolso falló.
$amount`Cafetito\Payments\Money`El importe que se intentó.
$result`Cafetito\Payments\RefundResult`El objeto de resultado devuelto por la pasarela, que contiene los detalles del fallo.

Fuente: includes/Payments/PaymentProcessor.php:289

PHP
add_action( 'cafetito_refund_failed', function ( $transaction, $amount, $result ) {
    // Handle the failed refund.
}, 10, 3 );

Notificaciones (IPN) y retornos 12

cafetito_notification_receivedAction

Se dispara cuando se recibe una notificación de la pasarela (IPN) y se ha analizado su resultado. Úsalo para reaccionar a las notificaciones de pago servidor a servidor, por ejemplo para desencadenar una preparación de pedido personalizada.

Parámetros
NombreTipoDescripcion
$result`mixed`El objeto de resultado de la notificación analizado, producido por la pasarela.
$gateway_id`string`El id de la pasarela que envió la notificación.

Fuente: includes/Rest/NotificationController.php:86

PHP
add_action( 'cafetito_notification_received', function ( $result, $gateway_id ) {
    // Handle the incoming notification.
}, 10, 2 );
cafetito_notification_invalid_signatureAction

Se dispara cuando una notificación entrante de la pasarela falla la verificación de firma. Úsalo para monitorización de seguridad y alertas sobre callbacks potencialmente fraudulentos o malformados.

Parámetros
NombreTipoDescripcion
$gateway_id`string`El id de la pasarela de la que la notificación afirmaba provenir.
$context`array`Contexto sobre la solicitud inválida (como los datos de la solicitud para diagnóstico).

Fuente: includes/Rest/NotificationController.php:95

PHP
add_action( 'cafetito_notification_invalid_signature', function ( $gateway_id, $context ) {
    error_log( 'Invalid notification signature for ' . $gateway_id );
}, 10, 2 );
cafetito_notification_urlFilter

Filtra la URL de notificación (IPN) que Cafetito envía a la pasarela como endpoint de callback para una pasarela dada. Úsalo para sobrescribir la URL, por ejemplo detrás de un proxy o un enrutado personalizado.

Parámetros
NombreTipoDescripcion
$url`string`*Valor a devolver.* La URL de notificación.
$gateway_id`string`La pasarela para la que se construye la URL.

Fuente: includes/Frontend/CheckoutHandler.php:587

PHP
add_filter( 'cafetito_notification_url', function ( $url, $gateway_id ) {
    return $url;
}, 10, 2 );
cafetito_payment_return_successAction

Se dispara en la pantalla de retorno cuando el visitante vuelve de un pago correcto. Úsalo para mostrar un agradecimiento, lanzar analítica o ejecutar efectos secundarios de front-end en la página de éxito.

Parámetros
NombreTipoDescripcion
$transaction`Cafetito\Payments\Transaction`La transacción asociada al retorno.

Fuente: includes/Frontend/ReturnScreen.php:80

PHP
add_action( 'cafetito_payment_return_success', function ( $transaction ) {
    // Fire a conversion event, etc.
}, 10, 1 );
cafetito_payment_return_cancelAction

Se dispara en la pantalla de retorno cuando el visitante vuelve tras cancelar el pago. Úsalo para registrar la cancelación o mostrar un mensaje personalizado.

Parámetros
NombreTipoDescripcion
$transaction`Cafetito\Payments\Transaction`La transacción asociada al retorno.

Fuente: includes/Frontend/ReturnScreen.php:87

PHP
add_action( 'cafetito_payment_return_cancel', function ( $transaction ) {
    // Handle the cancellation return.
}, 10, 1 );
cafetito_result_htmlFilter

Filtra el HTML completo de la tarjeta de resultado del retorno antes de imprimirla en la página. Úsalo para envolver, reemplazar o ampliar el resultado renderizado.

Parámetros
NombreTipoDescripcion
$card`string`*Valor a devolver.* El HTML de la tarjeta de resultado.
$transaction`Cafetito\Payments\Transaction|null`La transacción, o null si no se puede resolver.
$variant`string`La variante de resultado: success, cancelled o rejected.

Fuente: includes/Frontend/ReturnScreen.php:101

PHP
add_filter( 'cafetito_result_html', function ( $card, $transaction, $variant ) {
    return $card . '<p>Thank you.</p>';
}, 10, 3 );
cafetito_result_titleFilter

Filtra el título mostrado en la pantalla de resultado del retorno para una variante dada. Úsalo para personalizar el texto del encabezado.

Parámetros
NombreTipoDescripcion
$title`string`*Valor a devolver.* El título del resultado.
$variant`string`La variante de resultado: success, cancelled o rejected.

Fuente: includes/Frontend/ReturnScreen.php:262

PHP
add_filter( 'cafetito_result_title', function ( $title, $variant ) {
    if ( 'success' === $variant ) {
        return __( 'Payment received', 'my-addon' );
    }
    return $title;
}, 10, 2 );
cafetito_result_summaryFilter

Filtra las filas de resumen (pares etiqueta/valor) mostradas para la transacción en la pantalla de retorno. Úsalo para añadir o eliminar filas de detalle.

Parámetros
NombreTipoDescripcion
$rows`array`*Valor a devolver.* Las filas del resumen.
$transaction`Cafetito\Payments\Transaction`La transacción que se está resumiendo.

Fuente: includes/Frontend/ReturnScreen.php:307

PHP
add_filter( 'cafetito_result_summary', function ( $rows, $transaction ) {
    $rows['reference'] = $transaction->get_order_ref();
    return $rows;
}, 10, 2 );
cafetito_result_actionsFilter

Filtra los botones o enlaces de acción mostrados en la pantalla de retorno para una variante dada. Úsalo para añadir un botón de "volver al inicio" o una llamada a la acción personalizada.

Parámetros
NombreTipoDescripcion
$actions`array`*Valor a devolver.* Las acciones del resultado.
$variant`string`La variante de resultado: success, cancelled o rejected.
$transaction`Cafetito\Payments\Transaction`La transacción relacionada.

Fuente: includes/Frontend/ReturnScreen.php:371

PHP
add_filter( 'cafetito_result_actions', function ( $actions, $variant, $transaction ) {
    return $actions;
}, 10, 3 );
cafetito_success_messageFilter

Filtra el mensaje del cuerpo mostrado en un retorno correcto. El segundo argumento indica si el resultado es definitivo (confirmado) o aún provisional.

Parámetros
NombreTipoDescripcion
$body`string`*Valor a devolver.* El cuerpo del mensaje de éxito.
$definitive`bool`Si el éxito está confirmado/es definitivo.
$transaction`Cafetito\Payments\Transaction`La transacción relacionada.

Fuente: includes/Frontend/ReturnScreen.php:231

PHP
add_filter( 'cafetito_success_message', function ( $body, $definitive, $transaction ) {
    return $body;
}, 10, 3 );
cafetito_cancel_messageFilter

Filtra el mensaje del cuerpo mostrado cuando el visitante vuelve tras cancelar. Úsalo para personalizar el texto de cancelación.

Parámetros
NombreTipoDescripcion
$body`string`*Valor a devolver.* El cuerpo del mensaje de cancelación.
$transaction`Cafetito\Payments\Transaction`La transacción relacionada.

Fuente: includes/Frontend/ReturnScreen.php:242

PHP
add_filter( 'cafetito_cancel_message', function ( $body, $transaction ) {
    return $body;
}, 10, 2 );
cafetito_rejected_messageFilter

Filtra el mensaje del cuerpo mostrado cuando se rechaza un pago. Úsalo para personalizar el texto de rechazo.

Parámetros
NombreTipoDescripcion
$body`string`*Valor a devolver.* El cuerpo del mensaje de rechazo.
$transaction`Cafetito\Payments\Transaction`La transacción relacionada.

Fuente: includes/Frontend/ReturnScreen.php:253

PHP
add_filter( 'cafetito_rejected_message', function ( $body, $transaction ) {
    return $body;
}, 10, 2 );

Formularios y shortcode 29

cafetito_shortcode_attsFilter

Filtra los atributos analizados del shortcode de Cafetito antes de usarlos para construir la configuración del botón. Úsalo para inyectar valores por defecto o sobrescribir atributos de forma global.

Parámetros
NombreTipoDescripcion
$atts`array`*Valor a devolver.* Los atributos del shortcode.

Fuente: includes/Frontend/Shortcode.php:59

PHP
add_filter( 'cafetito_shortcode_atts', function ( $atts ) {
    $atts['currency'] = 'EUR';
    return $atts;
} );
cafetito_block_attributesFilter

Filtra los atributos del bloque de Gutenberg de Cafetito antes de renderizar. Úsalo para normalizar o ampliar los atributos del bloque.

Parámetros
NombreTipoDescripcion
$attributes`array`*Valor a devolver.* Los atributos del bloque.

Fuente: includes/Frontend/Block.php:81

PHP
add_filter( 'cafetito_block_attributes', function ( $attributes ) {
    return $attributes;
} );
cafetito_button_configFilter

Filtra el objeto de configuración del botón resuelto, construido a partir de los atributos del shortcode o del bloque. Es el objeto central que describe un botón o formulario de pago. Úsalo para ajustar de forma programática importes, campos, etiquetas o la selección de pasarela.

Parámetros
NombreTipoDescripcion
$config`Cafetito\Frontend\ButtonConfig`*Valor a devolver.* La configuración del botón.
$atts`array`Los atributos de origen a partir de los cuales se construyó la configuración.

Fuente: includes/Frontend/ButtonConfig.php:157

PHP
add_filter( 'cafetito_button_config', function ( $config, $atts ) {
    return $config;
}, 10, 2 );
cafetito_form_fieldsFilter

Filtra la lista de campos de formulario de donante disponibles. Úsalo para registrar un campo personalizado o eliminar uno integrado.

Parámetros
NombreTipoDescripcion
$fields`array`*Valor a devolver.* La definición de los campos de formulario disponibles.

Fuente: includes/Frontend/ButtonConfig.php:616

PHP
add_filter( 'cafetito_form_fields', function ( $fields ) {
    return $fields;
} );
cafetito_form_submittedAction

Se dispara después de que un formulario de front-end se haya enviado y validado correctamente, justo antes de que comience el checkout. Úsalo para reaccionar a un envío válido, por ejemplo para capturar la entrada saneada del visitante.

Parámetros
NombreTipoDescripcion
$config`Cafetito\Frontend\ButtonConfig`La configuración del botón del formulario enviado.
$input`array`La entrada del visitante saneada.

Fuente: includes/Frontend/CheckoutHandler.php:101

PHP
add_action( 'cafetito_form_submitted', function ( $config, $input ) {
    // React to a valid submission.
}, 10, 2 );
cafetito_validation_failedAction

Se dispara cuando la validación del lado del servidor de un envío de formulario falla, antes de redirigir al visitante de vuelta con errores. Úsalo para registrar o monitorizar los envíos fallidos.

Parámetros
NombreTipoDescripcion
$config`Cafetito\Frontend\ButtonConfig`La configuración del botón del formulario enviado.
$errors`array`Mapa de clave de campo a mensaje de error.

Fuente: includes/Frontend/CheckoutHandler.php:90

PHP
add_action( 'cafetito_validation_failed', function ( $config, $errors ) {
    // Log validation failures.
}, 10, 2 );
cafetito_validation_errorsFilter

Filtra los errores de validación de un envío de formulario. Permite a un complemento añadir o eliminar errores (por ejemplo, para imponer un campo obligatorio personalizado). El mapa de errores usa claves de campo a cadenas de mensaje.

Parámetros
NombreTipoDescripcion
$errors`array`*Valor a devolver.* Mapa de clave de campo a mensaje de error.
$config`Cafetito\Frontend\ButtonConfig`La configuración del botón.
$input`array`La entrada del visitante saneada.

Fuente: includes/Frontend/CheckoutHandler.php:153

PHP
add_filter( 'cafetito_validation_errors', function ( $errors, $config, $input ) {
    if ( empty( $input['cf_donor_phone'] ) ) {
        $errors['cf_donor_phone'] = __( 'Phone is required.', 'my-addon' );
    }
    return $errors;
}, 10, 3 );
cafetito_transaction_dataFilter

Filtra el array de datos usado para crear una transacción a partir de un envío validado. Úsalo para adjuntar campos, metadatos o valores calculados adicionales a la transacción en el momento de la creación.

Parámetros
NombreTipoDescripcion
$data`array`*Valor a devolver.* Los datos de la transacción.
$config`Cafetito\Frontend\ButtonConfig`La configuración del botón.
$input`array`La entrada del visitante saneada.

Fuente: includes/Frontend/CheckoutHandler.php:351

PHP
add_filter( 'cafetito_transaction_data', function ( $data, $config, $input ) {
    $data['meta']['campaign'] = 'spring';
    return $data;
}, 10, 3 );
cafetito_return_url_successFilter

Filtra la URL a la que la pasarela debe redirigir tras un pago correcto. Úsalo para enviar al visitante a una página de agradecimiento personalizada en lugar de la pantalla de retorno por defecto.

Parámetros
NombreTipoDescripcion
$url`string`*Valor a devolver.* La URL de retorno de éxito.
$order_ref`string`La referencia de pedido de la transacción.

Fuente: includes/Frontend/CheckoutHandler.php:533

PHP
add_filter( 'cafetito_return_url_success', function ( $url, $order_ref ) {
    return home_url( '/thank-you/' );
}, 10, 2 );
cafetito_return_url_cancelFilter

Filtra la URL a la que la pasarela debe redirigir tras un pago cancelado. Úsalo para enviar al visitante a una página personalizada.

Parámetros
NombreTipoDescripcion
$url`string`*Valor a devolver.* La URL de retorno de cancelación.
$order_ref`string`La referencia de pedido de la transacción.

Fuente: includes/Frontend/CheckoutHandler.php:542

PHP
add_filter( 'cafetito_return_url_cancel', function ( $url, $order_ref ) {
    return home_url( '/cancelled/' );
}, 10, 2 );
cafetito_client_ipFilter

Filtra la dirección IP de cliente resuelta para la solicitud actual, usada para registro y comprobaciones de fraude. Úsalo cuando estés detrás de un proxy o balanceador de carga para proporcionar la IP de origen correcta.

Parámetros
NombreTipoDescripcion
$ip`string|null`*Valor a devolver.* La IP de cliente resuelta, o null si no se determinó ninguna.

Fuente: includes/Frontend/CheckoutHandler.php:639

PHP
add_filter( 'cafetito_client_ip', function ( $ip ) {
    if ( ! empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
        return explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] )[0];
    }
    return $ip;
} );
cafetito_currencyFilter

Filtra el código de moneda usado por el plugin. Por defecto es EUR. Devuelve un código de moneda ISO distinto para cambiar la moneda usada para los importes y el formato.

Parámetros
NombreTipoDescripcion
$currency`string`*Valor a devolver.* El código de moneda (por defecto EUR).

Fuente: includes/Frontend/ButtonConfig.php:492 (primaria). Disparado en 2 ubicaciones (ButtonConfig.php:492 y Admin/TransactionsListPage.php:166).

PHP
add_filter( 'cafetito_currency', function ( $currency ) {
    return 'USD';
} );
cafetito_default_conceptFilter

Filtra el texto del concepto (descripción) por defecto usado para un pago cuando no se proporciona ninguno, para un tipo de botón dado. Úsalo para proporcionar un concepto por defecto personalizado.

Parámetros
NombreTipoDescripcion
$concept`string`*Valor a devolver.* El texto del concepto por defecto.
$type`string`El tipo de botón al que aplica el concepto.

Fuente: includes/Frontend/ButtonConfig.php:515

PHP
add_filter( 'cafetito_default_concept', function ( $concept, $type ) {
    return __( 'Support our work', 'my-addon' );
}, 10, 2 );
cafetito_format_moneyFilter

Filtra la cadena formateada y legible de un importe monetario. Úsalo para personalizar por completo cómo se muestran los importes (separadores, posición del símbolo, decimales).

Parámetros
NombreTipoDescripcion
$result`string`*Valor a devolver.* La cadena de dinero formateada.
$money`Cafetito\Payments\Money`El objeto de dinero que se está formateando.
$force_decimals`bool`Si se fuerzan los decimales en la salida.

Fuente: includes/Frontend/Format.php:60

PHP
add_filter( 'cafetito_format_money', function ( $result, $money, $force_decimals ) {
    return $result;
}, 10, 3 );
cafetito_before_formAction

Se dispara inmediatamente antes de renderizar el formulario de pago. Úsalo para imprimir contenido encima del formulario, dada la configuración resuelta.

Parámetros
NombreTipoDescripcion
$config`Cafetito\Frontend\ButtonConfig`La configuración del botón que se está renderizando.

Fuente: includes/Frontend/FormRenderer.php:138

PHP
add_action( 'cafetito_before_form', function ( $config ) {
    echo '<p>Your contribution matters.</p>';
}, 10, 1 );
cafetito_after_formAction

Se dispara inmediatamente después de renderizar el formulario de pago. Úsalo para imprimir contenido debajo del formulario.

Parámetros
NombreTipoDescripcion
$config`Cafetito\Frontend\ButtonConfig`La configuración del botón que se está renderizando.

Fuente: includes/Frontend/FormRenderer.php:147

PHP
add_action( 'cafetito_after_form', function ( $config ) {
    echo '<small>Secure payment.</small>';
}, 10, 1 );
cafetito_form_htmlFilter

Filtra el HTML renderizado completo del formulario de pago. Úsalo para envolver o posprocesar el marcado.

Parámetros
NombreTipoDescripcion
$html`string`*Valor a devolver.* El HTML del formulario.
$config`Cafetito\Frontend\ButtonConfig`La configuración del botón.
$context`mixed`El contexto de renderizado.

Fuente: includes/Frontend/FormRenderer.php:159

PHP
add_filter( 'cafetito_form_html', function ( $html, $config, $context ) {
    return $html;
}, 10, 3 );
cafetito_form_titleFilter

Filtra el título del formulario de pago. Úsalo para sobrescribir el texto del encabezado.

Parámetros
NombreTipoDescripcion
$title`string`*Valor a devolver.* El título del formulario.
$config`Cafetito\Frontend\ButtonConfig`La configuración del botón.

Fuente: includes/Frontend/FormRenderer.php:253

PHP
add_filter( 'cafetito_form_title', function ( $title, $config ) {
    return __( 'Make a donation', 'my-addon' );
}, 10, 2 );
cafetito_form_subtitleFilter

Filtra el subtítulo del formulario de pago. Úsalo para sobrescribir el texto del encabezado secundario.

Parámetros
NombreTipoDescripcion
$subtitle`string`*Valor a devolver.* El subtítulo del formulario.
$config`Cafetito\Frontend\ButtonConfig`La configuración del botón.

Fuente: includes/Frontend/FormRenderer.php:265

PHP
add_filter( 'cafetito_form_subtitle', function ( $subtitle, $config ) {
    return $subtitle;
}, 10, 2 );
cafetito_field_labelFilter

Filtra la etiqueta de un campo del formulario de donante. Úsalo para renombrar los campos mostrados a los visitantes.

Parámetros
NombreTipoDescripcion
$label`string`*Valor a devolver.* La etiqueta del campo.
$field`string`La clave del campo.

Fuente: includes/Frontend/FormRenderer.php:663

PHP
add_filter( 'cafetito_field_label', function ( $label, $field ) {
    if ( 'name' === $field ) {
        return __( 'Full name', 'my-addon' );
    }
    return $label;
}, 10, 2 );
cafetito_method_labelFilter

Filtra la etiqueta de un método de pago mostrado en el formulario. Úsalo para renombrar un método (por ejemplo, "Tarjeta" o "Bizum").

Parámetros
NombreTipoDescripcion
$label`string`*Valor a devolver.* La etiqueta del método.
$method`string`La clave del método.

Fuente: includes/Frontend/FormRenderer.php:748

PHP
add_filter( 'cafetito_method_label', function ( $label, $method ) {
    return $label;
}, 10, 2 );
cafetito_method_iconFilter

Filtra el icono usado para un método de pago en el formulario. Úsalo para proporcionar una URL de icono o marcado personalizado.

Parámetros
NombreTipoDescripcion
$icon`string`*Valor a devolver.* El icono del método.
$method`string`La clave del método.

Fuente: includes/Frontend/FormRenderer.php:771

PHP
add_filter( 'cafetito_method_icon', function ( $icon, $method ) {
    return $icon;
}, 10, 2 );
cafetito_method_sublabelFilter

Filtra la etiqueta secundaria (sub-etiqueta) de un método de pago mostrado en el formulario. Úsalo para añadir un breve descriptor bajo el nombre del método.

Parámetros
NombreTipoDescripcion
$sub`string`*Valor a devolver.* La sub-etiqueta del método.
$method`string`La clave del método.

Fuente: includes/Frontend/FormRenderer.php:794

PHP
add_filter( 'cafetito_method_sublabel', function ( $sub, $method ) {
    return $sub;
}, 10, 2 );
cafetito_submit_labelFilter

Filtra la etiqueta del botón de envío del formulario de pago. Úsalo para personalizar el texto de la llamada a la acción.

Parámetros
NombreTipoDescripcion
$label`string`*Valor a devolver.* La etiqueta del botón de envío.
$config`Cafetito\Frontend\ButtonConfig`La configuración del botón.

Fuente: includes/Frontend/FormRenderer.php:889

PHP
add_filter( 'cafetito_submit_label', function ( $label, $config ) {
    return __( 'Donate now', 'my-addon' );
}, 10, 2 );
cafetito_compact_labelFilter

Filtra la etiqueta usada en el modo de renderizado compacto (botón en línea) del formulario. Úsalo para personalizar el texto en disposiciones compactas.

Parámetros
NombreTipoDescripcion
$label`string`*Valor a devolver.* La etiqueta del botón compacto.
$config`Cafetito\Frontend\ButtonConfig`La configuración del botón.

Fuente: includes/Frontend/FormRenderer.php:927

PHP
add_filter( 'cafetito_compact_label', function ( $label, $config ) {
    return $label;
}, 10, 2 );
cafetito_presetFilter

Filtra el preset (preset de estilo/disposición) del formulario de front-end antes de aplicarlo. Úsalo para sobrescribir el preset visual de los formularios.

Parámetros
NombreTipoDescripcion
$preset`mixed`*Valor a devolver.* El preset del formulario.

Fuente: includes/Frontend/FormRenderer.php:945

PHP
add_filter( 'cafetito_preset', function ( $preset ) {
    return $preset;
} );
cafetito_assets_registeredAction

Se dispara después de que los assets de front-end (scripts y estilos) se hayan registrado en WordPress. Úsalo para registrar assets adicionales o declarar dependencias de los handles de Cafetito.

Parámetros
NombreTipoDescripcion
$assets`Cafetito\Frontend\Assets`La instancia del gestor de assets.

Fuente: includes/Frontend/Assets.php:86

PHP
add_action( 'cafetito_assets_registered', function ( $assets ) {
    wp_register_style( 'my-addon-css', plugins_url( 'addon.css', __FILE__ ) );
}, 10, 1 );
cafetito_assets_enqueuedAction

Se dispara después de que los assets de front-end se hayan encolado para su salida. Úsalo para encolar tus propios assets que dependan de los de Cafetito.

Fuente: includes/Frontend/Assets.php:109

PHP
add_action( 'cafetito_assets_enqueued', function () {
    wp_enqueue_style( 'my-addon-css' );
} );
cafetito_icon_urlFilter

Filtra la URL de un icono integrado con nombre. El valor por defecto apunta al SVG incluido con el plugin. Úsalo para sustituir un icono por tu propio asset.

Parámetros
NombreTipoDescripcion
$url`string`*Valor a devolver.* La URL del icono.
$name`string`El nombre del icono que se está resolviendo.

Fuente: includes/Frontend/Assets.php:127

PHP
add_filter( 'cafetito_icon_url', function ( $url, $name ) {
    if ( 'visa' === $name ) {
        return plugins_url( 'icons/visa.svg', __FILE__ );
    }
    return $url;
}, 10, 2 );

Correos 13

cafetito_before_send_emailAction

Se dispara justo antes de enviar un correo de notificación. Úsalo para registro de última hora o para alterar el estado relacionado para un tipo de correo y transacción dados.

Parámetros
NombreTipoDescripcion
$type`string`El tipo de correo (por ejemplo una clave de notificación de estado).
$transaction`Cafetito\Payments\Transaction`La transacción relacionada.

Fuente: includes/Notifications/EmailService.php:176

PHP
add_action( 'cafetito_before_send_email', function ( $type, $transaction ) {
    // Pre-send logic.
}, 10, 2 );
cafetito_email_sentAction

Se dispara después de enviar correctamente un correo de notificación. Úsalo para registrar que el correo se envió o para encadenar notificaciones adicionales.

Parámetros
NombreTipoDescripcion
$type`string`El tipo de correo.
$transaction`Cafetito\Payments\Transaction`La transacción relacionada.

Fuente: includes/Notifications/EmailService.php:189

PHP
add_action( 'cafetito_email_sent', function ( $type, $transaction ) {
    // Log delivery.
}, 10, 2 );
cafetito_email_failedAction

Se dispara cuando falla el envío de un correo de notificación. Úsalo para alertar al personal o reintentar a través de un canal alternativo.

Parámetros
NombreTipoDescripcion
$type`string`El tipo de correo.
$transaction`Cafetito\Payments\Transaction`La transacción relacionada.

Fuente: includes/Notifications/EmailService.php:199

PHP
add_action( 'cafetito_email_failed', function ( $type, $transaction ) {
    // Handle the delivery failure.
}, 10, 2 );
cafetito_email_enabledFilter

Filtra si debe enviarse un tipo de correo dado para una transacción. Por defecto es true. Devuelve false para suprimir una notificación concreta.

Parámetros
NombreTipoDescripcion
$enabled`bool`*Valor a devolver.* Si el correo está habilitado (por defecto true).
$type`string`El tipo de correo.
$transaction`Cafetito\Payments\Transaction`La transacción relacionada.

Fuente: includes/Notifications/EmailService.php:221

PHP
add_filter( 'cafetito_email_enabled', function ( $enabled, $type, $transaction ) {
    if ( 'admin_notice' === $type ) {
        return false;
    }
    return $enabled;
}, 10, 3 );
cafetito_email_placeholdersFilter

Filtra el mapa de placeholders usado para interpolar el asunto y el cuerpo del correo de una transacción. Úsalo para añadir placeholders personalizados a los que tus plantillas puedan hacer referencia.

Parámetros
NombreTipoDescripcion
$placeholders`array`*Valor a devolver.* Mapa de token de placeholder a valor de reemplazo.
$transaction`Cafetito\Payments\Transaction`La transacción relacionada.

Fuente: includes/Notifications/EmailService.php:110

PHP
add_filter( 'cafetito_email_placeholders', function ( $placeholders, $transaction ) {
    $placeholders['{campaign}'] = 'Spring 2026';
    return $placeholders;
}, 10, 2 );
cafetito_email_subjectFilter

Filtra la línea de asunto de un correo de notificación. Úsalo para personalizar el asunto por tipo de correo.

Parámetros
NombreTipoDescripcion
$subject`string`*Valor a devolver.* El asunto del correo (por defecto es el asunto por defecto del plugin para el tipo).
$type`string`El tipo de correo.
$transaction`Cafetito\Payments\Transaction`La transacción relacionada.

Fuente: includes/Notifications/EmailService.php:123

PHP
add_filter( 'cafetito_email_subject', function ( $subject, $type, $transaction ) {
    return $subject;
}, 10, 3 );
cafetito_email_bodyFilter

Filtra el mensaje del cuerpo en bruto de un correo de notificación antes de aplicar los placeholders y construir el HTML. Úsalo para reemplazar el texto de la plantilla.

Parámetros
NombreTipoDescripcion
$body`string`*Valor a devolver.* El cuerpo del correo (por defecto es el mensaje por defecto del plugin para el tipo).
$type`string`El tipo de correo.
$transaction`Cafetito\Payments\Transaction`La transacción relacionada.

Fuente: includes/Notifications/EmailService.php:142

PHP
add_filter( 'cafetito_email_body', function ( $body, $type, $transaction ) {
    return $body;
}, 10, 3 );
cafetito_email_htmlFilter

Filtra el HTML final de un correo de notificación después de ensamblar el cuerpo. Úsalo para envolver el contenido en una plantilla personalizada o añadir una cabecera/pie.

Parámetros
NombreTipoDescripcion
$body`string`*Valor a devolver.* El HTML del correo.
$type`string`El tipo de correo.
$transaction`Cafetito\Payments\Transaction`La transacción relacionada.

Fuente: includes/Notifications/EmailService.php:166

PHP
add_filter( 'cafetito_email_html', function ( $body, $type, $transaction ) {
    return '<div class="brand">' . $body . '</div>';
}, 10, 3 );
cafetito_email_recipientsFilter

Filtra la lista de destinatarios de un correo de notificación. Úsalo para añadir o eliminar destinatarios (por ejemplo, una CCO para contabilidad).

Parámetros
NombreTipoDescripcion
$recipients`array`*Valor a devolver.* Array de direcciones de correo de destinatarios.
$type`string`El tipo de correo.
$transaction`Cafetito\Payments\Transaction`La transacción relacionada.

Fuente: includes/Notifications/EmailService.php:252

PHP
add_filter( 'cafetito_email_recipients', function ( $recipients, $type, $transaction ) {
    $recipients[] = 'accounting@example.com';
    return $recipients;
}, 10, 3 );
cafetito_email_presetFilter

Filtra el preset del correo (preset de estilo/plantilla) aplicado a un correo de notificación para un tipo y transacción dados. Úsalo para cambiar de preset por tipo de correo.

Parámetros
NombreTipoDescripcion
$preset`mixed`*Valor a devolver.* El preset del correo.
$type`string`El tipo de correo.
$transaction`Cafetito\Payments\Transaction`La transacción relacionada.

Fuente: includes/Notifications/EmailService.php:363

PHP
add_filter( 'cafetito_email_preset', function ( $preset, $type, $transaction ) {
    return $preset;
}, 10, 3 );
cafetito_email_from_nameFilter

Filtra el nombre "De" usado al enviar correos de notificación. Por defecto es el nombre del sitio. Úsalo para marcar los correos salientes.

Parámetros
NombreTipoDescripcion
$from_name`string`*Valor a devolver.* El nombre del remitente (por defecto es el nombre del sitio).
$type`string`El tipo de correo.

Fuente: includes/Notifications/EmailService.php:409

PHP
add_filter( 'cafetito_email_from_name', function ( $from_name, $type ) {
    return 'My Organization';
}, 10, 2 );
cafetito_email_from_addressFilter

Filtra la dirección "De" usada al enviar correos de notificación. Por defecto está vacía (valor por defecto de WordPress). Úsalo para establecer una dirección de remitente personalizada.

Parámetros
NombreTipoDescripcion
$from_address`string`*Valor a devolver.* La dirección de correo del remitente (por defecto vacía).
$type`string`El tipo de correo.

Fuente: includes/Notifications/EmailService.php:417

PHP
add_filter( 'cafetito_email_from_address', function ( $from_address, $type ) {
    return 'noreply@example.com';
}, 10, 2 );
cafetito_email_headersFilter

Filtra el array de cabeceras enviado con un correo de notificación. Úsalo para añadir cabeceras personalizadas, Reply-To o cabeceras CC/CCO.

Parámetros
NombreTipoDescripcion
$headers`array`*Valor a devolver.* Las cabeceras del correo.
$type`string`El tipo de correo.

Fuente: includes/Notifications/EmailService.php:429

PHP
add_filter( 'cafetito_email_headers', function ( $headers, $type ) {
    $headers[] = 'Reply-To: support@example.com';
    return $headers;
}, 10, 2 );

Administración 15

cafetito_admin_assets_enqueuedAction

Se dispara después de encolar los assets de administración, con el sufijo del hook de la página de administración actual. Úsalo para encolar tus propios assets de administración en las pantallas de Cafetito.

Parámetros
NombreTipoDescripcion
$hook_suffix`string`El sufijo del hook de la página de administración actual.

Fuente: includes/Admin/Assets.php:105

PHP
add_action( 'cafetito_admin_assets_enqueued', function ( $hook_suffix ) {
    wp_enqueue_script( 'my-addon-admin' );
}, 10, 1 );
cafetito_admin_status_badgesFilter

Filtra el mapa de estados de transacción a sus definiciones de badge de administración (etiqueta y estilo). Úsalo para añadir badges para estados personalizados o reestilizar los existentes.

Parámetros
NombreTipoDescripcion
$map`array`*Valor a devolver.* Mapa de clave de estado a definición de badge.

Fuente: includes/Admin/StatusBadge.php:62

PHP
add_filter( 'cafetito_admin_status_badges', function ( $map ) {
    return $map;
} );
cafetito_admin_summary_dataFilter

Filtra las tarjetas de resumen mostradas encima de la lista de transacciones. Úsalo para añadir tarjetas de KPI personalizadas calculadas a partir del resumen y los filtros actuales.

Parámetros
NombreTipoDescripcion
$cards`array`*Valor a devolver.* Las tarjetas de resumen.
$summary`array`Los datos de resumen calculados.
$filters`array`Los filtros de lista activos.

Fuente: includes/Admin/TransactionsListPage.php:221

PHP
add_filter( 'cafetito_admin_summary_data', function ( $cards, $summary, $filters ) {
    return $cards;
}, 10, 3 );
cafetito_admin_bulk_actionsFilter

Filtra las acciones masivas disponibles en la tabla de lista de transacciones. Úsalo para registrar una acción masiva personalizada.

Parámetros
NombreTipoDescripcion
$actions`array`*Valor a devolver.* Mapa de clave de acción masiva a etiqueta.

Fuente: includes/Admin/TransactionsListPage.php:275

PHP
add_filter( 'cafetito_admin_bulk_actions', function ( $actions ) {
    $actions['my_action'] = __( 'My bulk action', 'my-addon' );
    return $actions;
} );
cafetito_admin_list_columnsFilter

Filtra las columnas mostradas en la tabla de lista de transacciones. Úsalo para añadir o eliminar columnas.

Parámetros
NombreTipoDescripcion
$columns`array`*Valor a devolver.* Mapa de clave de columna a etiqueta de columna.

Fuente: includes/Admin/TransactionsListPage.php:462

PHP
add_filter( 'cafetito_admin_list_columns', function ( $columns ) {
    $columns['campaign'] = __( 'Campaign', 'my-addon' );
    return $columns;
} );
cafetito_admin_list_columnAction

Se dispara al renderizar la celda de una columna personalizada en la lista de transacciones, para cada fila. Imprime el contenido de la celda de tu columna cuando su clave coincida.

Parámetros
NombreTipoDescripcion
$key`string`La clave de la columna que se está renderizando.
$transaction`Cafetito\Payments\Transaction`La transacción de la fila actual.

Fuente: includes/Admin/TransactionsListPage.php:571

PHP
add_action( 'cafetito_admin_list_column', function ( $key, $transaction ) {
    if ( 'campaign' === $key ) {
        echo esc_html( $transaction->get_meta( 'campaign' ) );
    }
}, 10, 2 );
cafetito_admin_list_rowAction

Se dispara una vez por fila de transacción al renderizar la tabla de lista. Úsalo para imprimir marcado de fila extra o desencadenar lógica por fila.

Parámetros
NombreTipoDescripcion
$transaction`Cafetito\Payments\Transaction`La transacción de la fila actual.

Fuente: includes/Admin/TransactionsListPage.php:584

PHP
add_action( 'cafetito_admin_list_row', function ( $transaction ) {
    // Per-row admin output.
}, 10, 1 );
cafetito_admin_filtersAction

Se dispara al renderizar los controles de filtro encima de la lista de transacciones. Úsalo para imprimir entradas de filtro adicionales. Se pasan los filtros activos actuales.

Parámetros
NombreTipoDescripcion
$filters`array`Los filtros de lista activos.

Fuente: includes/Admin/TransactionsListPage.php:359

PHP
add_action( 'cafetito_admin_filters', function ( $filters ) {
    // Render an extra filter control.
}, 10, 1 );
cafetito_admin_list_query_argsFilter

Filtra los argumentos de la consulta usados para obtener transacciones para la lista de administración, dados los filtros activos. Úsalo para aplicar lógica de filtrado personalizada a la consulta de la lista de administración.

Parámetros
NombreTipoDescripcion
$args`array`*Valor a devolver.* Los argumentos de la consulta.
$filters`array`Los filtros de lista activos.

Fuente: includes/Admin/ListFilters.php:122

PHP
add_filter( 'cafetito_admin_list_query_args', function ( $args, $filters ) {
    return $args;
}, 10, 2 );
cafetito_admin_detail_after_dataAction

Se dispara en la pantalla de detalle de la transacción, después de la sección de datos principales de la transacción. Úsalo para renderizar paneles o metadatos adicionales para la transacción.

Parámetros
NombreTipoDescripcion
$transaction`Cafetito\Payments\Transaction`La transacción que se está viendo.

Fuente: includes/Admin/TransactionDetailPage.php:74

PHP
add_action( 'cafetito_admin_detail_after_data', function ( $transaction ) {
    echo '<h3>' . esc_html__( 'Extra info', 'my-addon' ) . '</h3>';
}, 10, 1 );
cafetito_admin_detail_actionsFilter

Filtra los botones de acción mostrados en la pantalla de detalle de la transacción. Úsalo para añadir una acción personalizada (por ejemplo, un enlace a un sistema externo).

Parámetros
NombreTipoDescripcion
$actions`array`*Valor a devolver.* Los botones de acción del detalle.
$transaction`Cafetito\Payments\Transaction`La transacción que se está viendo.

Fuente: includes/Admin/TransactionDetailPage.php:155

PHP
add_filter( 'cafetito_admin_detail_actions', function ( $actions, $transaction ) {
    return $actions;
}, 10, 2 );
cafetito_transaction_reviewedAction

Se dispara cuando un administrador marca una transacción como revisada. Úsalo para registrar la revisión o desencadenar un flujo de trabajo posterior.

Parámetros
NombreTipoDescripcion
$transaction`Cafetito\Payments\Transaction`La transacción revisada.

Fuente: includes/Admin/ListActions.php:145

PHP
add_action( 'cafetito_transaction_reviewed', function ( $transaction ) {
    // React to the review.
}, 10, 1 );
cafetito_internal_note_savedAction

Se dispara después de guardar una nota interna en una transacción. Úsalo para reaccionar a las notas del personal, por ejemplo para sincronizarlas en otro lugar.

Parámetros
NombreTipoDescripcion
$transaction`Cafetito\Payments\Transaction`La transacción en la que se guardó la nota.

Fuente: includes/Admin/RefundController.php:149

PHP
add_action( 'cafetito_internal_note_saved', function ( $transaction ) {
    // Handle the saved note.
}, 10, 1 );
cafetito_export_csv_headersFilter

Filtra la fila de cabecera usada para la exportación CSV de transacciones. Úsalo para añadir columnas a la exportación (combínalo con cafetito_export_csv_row).

Parámetros
NombreTipoDescripcion
$headers`array`*Valor a devolver.* Las columnas de cabecera del CSV.

Fuente: includes/Admin/ListActions.php:203

PHP
add_filter( 'cafetito_export_csv_headers', function ( $headers ) {
    $headers[] = 'Campaign';
    return $headers;
} );
cafetito_export_csv_rowFilter

Filtra una única fila de datos de la exportación CSV, dada la transacción que representa. Úsalo para añadir valores que se alineen con las cabeceras personalizadas.

Parámetros
NombreTipoDescripcion
$row`array`*Valor a devolver.* Los valores de la fila del CSV.
$transaction`Cafetito\Payments\Transaction`La transacción de esta fila.

Fuente: includes/Admin/ListActions.php:229

PHP
add_filter( 'cafetito_export_csv_row', function ( $row, $transaction ) {
    $row[] = $transaction->get_meta( 'campaign' );
    return $row;
}, 10, 2 );

Fiscal 2

cafetito_fiscal_fieldsFilter

Filtra la lista de campos fiscales (como NIF/CIF y campos de dirección) recopilados para la facturación. Úsalo para añadir o eliminar campos fiscales.

Parámetros
NombreTipoDescripcion
$fields`array`*Valor a devolver.* Las definiciones de los campos fiscales.

Fuente: includes/Frontend/ButtonConfig.php:688

PHP
add_filter( 'cafetito_fiscal_fields', function ( $fields ) {
    return $fields;
} );
cafetito_fiscal_enabledFilter

Filtra si la recopilación de datos fiscales está habilitada. Devuelve true o false para forzar los campos fiscales activados o desactivados.

Parámetros
NombreTipoDescripcion
$enabled`bool`*Valor a devolver.* Si la recopilación fiscal está habilitada.

Fuente: includes/Frontend/ButtonConfig.php:707

PHP
add_filter( 'cafetito_fiscal_enabled', function ( $enabled ) {
    return true;
} );

Texto e i18n 1

cafetito_textFilter

Filtra una cadena de texto traducible por clave, permitiendo la sobrescritura centralizada del texto del plugin orientado al usuario. Coincide con la clave para sobrescribir una cadena concreta.

Parámetros
NombreTipoDescripcion
$value`string`*Valor a devolver.* El valor del texto.
$key`string`El identificador de la cadena de texto.

Fuente: includes/Frontend/FormRenderer.php:994

PHP
add_filter( 'cafetito_text', function ( $value, $key ) {
    if ( 'thank_you' === $key ) {
        return __( 'Many thanks!', 'my-addon' );
    }
    return $value;
}, 10, 2 );

REST 1

cafetito_rest_namespaceFilter

Filtra el namespace de la REST API usado por el plugin (por defecto cafetito/v1) para sus endpoints, incluida la ruta de notificación (IPN). Úsalo para versionar o reubicar las rutas REST del plugin. Ten en cuenta que cambiar esto afecta a la URL de notificación enviada a las pasarelas, así que ajusta la configuración de la pasarela en consecuencia.

Parámetros
NombreTipoDescripcion
$namespace`string`*Valor a devolver.* El namespace REST (por defecto cafetito/v1).

Fuente: includes/Frontend/CheckoutHandler.php:578 (primaria). Disparado en 2 ubicaciones (CheckoutHandler.php:578 y Rest/NotificationController.php:115).

PHP
add_filter( 'cafetito_rest_namespace', function ( $namespace ) {
    return $namespace;
} );

Consigue la biblioteca completa de hooks

Cada action y filter mostrado aquí se incluye con el plugin Cafetito.