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

ArchivoResponsabilidad
yaxa-plugin.phpLoader principal
includes/class-yaxa-core.phpSingleton 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.phpyaxa/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.phpyaxa/v3/payments/confirm (Stripe), update-status (failed/cancelled/refunded), addi-link, sistecredito-link, efecty-link, mercadopago-credits-link
includes/class-yaxa-meta-capi.phpMeta Conversions API (Purchase server-side), Stripe fee/payout display en admin
includes/class-yaxa-forms.phpyaxa/v1/contact (formulario contacto), yaxa/v1/wholesale (mayorista), Cloudflare Turnstile
includes/class-yaxa-cart.phpCart token (?token=), breadcrumbs (limit 2), filtros, Stripe phone requirement, shortcode [astra_secure_payment]
includes/class-yaxa-admin.phpColumna “Buscar en Amazon” por SKU en items de orden
includes/class-yaxa-mautic.phpSync WC → Mautic (contactos desde órdenes)

Endpoints REST

EndpointMétodoAuthMódulo
yaxa/v3/pingGETNoCheckout
yaxa/v3/checkoutPOSTNoCheckout
yaxa/v3/coupons/validatePOSTNoCheckout
yaxa/v3/payments/confirmPOSTTokenPayments
yaxa/v3/payments/update-statusPOSTTokenPayments
yaxa/v3/payments/addi-linkPOSTNoPayments
yaxa/v3/payments/sistecredito-linkPOSTNoPayments
yaxa/v3/payments/efecty-linkPOSTNoPayments
yaxa/v3/payments/mercadopago-credits-linkPOSTNoPayments
yaxa/v1/contactPOSTTurnstileForms
yaxa/v1/wholesalePOSTTurnstileForms

Constantes requeridas

En /home/store/public_html/wp-config.php:

ConstanteUso
YAXA_WEBHOOK_TOKENToken para endpoints autenticados (payments/confirm, update-status)
YAXA_TURNSTILE_SECRETSecret Cloudflare Turnstile (formularios)
YAXA_META_PIXEL_IDPixel ID Meta (fallback global)
YAXA_META_CAPI_TOKENAccess token Meta Conversions API
MAUTIC_BASE_URL, MAUTIC_API_USER, MAUTIC_API_PASSWORDMautic 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:

  1. Singleton + add_action('rest_api_init', ...) para endpoints
  2. Hooks WC en constructor (add_action('woocommerce_order_status_processing', ...))
  3. Reutilizar Yaxa_Core::instance() para safe_text/normalize_phone/token
  4. Si la operación puede tardar >200ms: wp_schedule_single_event para 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)

LegacyReemplazado por
yaxa-headless-checkout-v3class-yaxa-checkout + class-yaxa-payments + class-yaxa-meta-capi
yaxa-utilsclass-yaxa-forms + class-yaxa-admin
carrito-api-yaxaclass-yaxa-forms + class-yaxa-cart
yaxa-headless-checkout (v1)Deactivado, no se usa

Los 4 están inactivos pero preservados como backup.