Yaxa Plugin
Plugin unificado de WordPress que consolida 4 plugins legacy en uno solo. Es el corazón de la lógica de Yaxa en WooCommerce: checkout, pagos, Meta CAPI, formularios, carrito, admin.
Datos
- Versión: 4.0.0
- Ruta:
/home/store/public_html/wp-content/plugins/yaxa-plugin/ - Estado: activado como network plugin (WordPress Multisite)
- Consolidación: 2026-03-30
Estructura
| Archivo | Responsabilidad |
|---|---|
yaxa-plugin.php | Loader principal |
includes/class-yaxa-core.php | Singleton con helpers (safe_text, safe_float, normalize_phone, to_cents, sideload_image), CORS, auth por token (X-Yaxa-Token), clase Yaxa_Plugin_Error |
includes/class-yaxa-checkout.php | yaxa/v3/checkout (crear orden por SKU), yaxa/v3/ping, yaxa/v3/coupons/validate. SKU sync (crear/actualizar productos), manejo de conflictos SKU |
includes/class-yaxa-payments.php | yaxa/v3/payments/confirm (Stripe), update-status (failed/cancelled/refunded), addi-link, sistecredito-link, efecty-link, mercadopago-credits-link |
includes/class-yaxa-meta-capi.php | Meta Conversions API (Purchase server-side), Stripe fee/payout display en admin |
includes/class-yaxa-forms.php | yaxa/v1/contact (formulario contacto), yaxa/v1/wholesale (mayorista), Cloudflare Turnstile |
includes/class-yaxa-cart.php | Cart token (?token=), breadcrumbs (limit 2), filtros, Stripe phone requirement, shortcode [astra_secure_payment] |
includes/class-yaxa-admin.php | Columna “Buscar en Amazon” por SKU en items de orden |
includes/class-yaxa-mautic.php | Sync WC → Mautic (contactos desde órdenes) |
Endpoints REST
| Endpoint | Método | Auth | Módulo |
|---|---|---|---|
yaxa/v3/ping | GET | No | Checkout |
yaxa/v3/checkout | POST | No | Checkout |
yaxa/v3/coupons/validate | POST | No | Checkout |
yaxa/v3/payments/confirm | POST | Token | Payments |
yaxa/v3/payments/update-status | POST | Token | Payments |
yaxa/v3/payments/addi-link | POST | No | Payments |
yaxa/v3/payments/sistecredito-link | POST | No | Payments |
yaxa/v3/payments/efecty-link | POST | No | Payments |
yaxa/v3/payments/mercadopago-credits-link | POST | No | Payments |
yaxa/v1/contact | POST | Turnstile | Forms |
yaxa/v1/wholesale | POST | Turnstile | Forms |
Constantes requeridas
En /home/store/public_html/wp-config.php:
| Constante | Uso |
|---|---|
YAXA_WEBHOOK_TOKEN | Token para endpoints autenticados (payments/confirm, update-status) |
YAXA_TURNSTILE_SECRET | Secret Cloudflare Turnstile (formularios) |
YAXA_META_PIXEL_ID | Pixel ID Meta (fallback global) |
YAXA_META_CAPI_TOKEN | Access token Meta Conversions API |
MAUTIC_BASE_URL, MAUTIC_API_USER, MAUTIC_API_PASSWORD | Mautic API |
Patrón arquitectural
Toda lógica triggered-by-WooCommerce vive en módulos PHP de este plugin siguiendo el patrón de class-yaxa-meta-capi.php:
- Singleton +
add_action('rest_api_init', ...)para endpoints - Hooks WC en constructor (
add_action('woocommerce_order_status_processing', ...)) - Reutilizar
Yaxa_Core::instance()para safe_text/normalize_phone/token - Si la operación puede tardar >200ms:
wp_schedule_single_eventpara async
Justificación: 0ms latencia (vs 50-200ms webhook), atomicidad (misma transacción que hook WC), no hay pérdida si n8n cae, acceso directo a $order->get_*(). Ver orquestacion-wc-vs-n8n.
Plugins legacy (inactivos, backup)
| Legacy | Reemplazado por |
|---|---|
yaxa-headless-checkout-v3 | class-yaxa-checkout + class-yaxa-payments + class-yaxa-meta-capi |
yaxa-utils | class-yaxa-forms + class-yaxa-admin |
carrito-api-yaxa | class-yaxa-forms + class-yaxa-cart |
yaxa-headless-checkout (v1) | Deactivado, no se usa |
Los 4 están inactivos pero preservados como backup.