Saltar al contenido principal

Gaia_StoreCredit

Descripción General

El módulo Gaia_StoreCredit implementa un sistema completo de crédito de tienda (store credit) para Magento 2, basado en el módulo de Mageplaza. Permite a los clientes ganar, gastar y gestionar créditos de tienda, incluyendo integración con órdenes, facturas, reembolsos y múltiples métodos de pago.

Features

Gestión de Crédito de Tienda

  • Descripción: Proporciona funcionalidades completas para gestionar créditos de tienda de clientes, incluyendo ganancias, gastos y transacciones.
  • Tipo de modificación: Modelos y APIs personalizados.
  • Archivos del core afectados: No modifica archivos core de Magento.
  • Archivos del módulo:
    • Model/Api/SpendingManagement.php
    • Model/Customer.php, Model/Order.php, Model/Invoice.php, Model/Creditmemo.php
  • Notas importantes:
    • Implementa un sistema completo de transacciones de crédito de tienda.

Integración con Carrito y Órdenes

  • Descripción: Integra el crédito de tienda con el proceso de carrito y creación de órdenes.
  • Tipo de modificación: Plugins y observers personalizados.
  • Archivos del core afectados: Intercepta procesos de carrito y órdenes.
  • Archivos del módulo:
    • Plugin/Quote/ToOrderItem.php
    • Observer/ConvertQuoteToOrder.php, Observer/QuoteSubmitFailure.php
  • Notas importantes:
    • Maneja la conversión de crédito de tienda del carrito a la orden.

APIs y Extensiones

  • Descripción: Expone APIs para gestión de crédito de tienda y extiende funcionalidades de Magento.
  • Tipo de modificación: APIs personalizadas y extensiones.
  • Archivos del core afectados: No modifica archivos core.
  • Archivos del módulo:
    • etc/webapi.xml, etc/extension_attributes.xml
  • Notas importantes:
    • Permite integración con sistemas externos y headless.

Overrides, Observers y Plugins Importantes

Preferences (Overrides)

  • Gaia\StoreCredit\Api\SpendingManagementInterfaceGaia\StoreCredit\Model\Api\SpendingManagement
    • Descripción: Implementa la lógica de gestión de gasto de crédito de tienda.
  • Gaia\StoreCredit\Api\Data\StoreCreditCustomerInterfaceGaia\StoreCredit\Model\Customer
    • Descripción: Maneja datos de cliente relacionados con crédito de tienda.
  • Gaia\StoreCredit\Api\Data\OrderInterfaceGaia\StoreCredit\Model\Order
    • Descripción: Extiende órdenes con funcionalidades de crédito de tienda.

Observers

  • CustomerLoadAfter (evento: customer_load_after)
    • Descripción: Carga atributos personalizados de crédito de tienda cuando se carga un cliente.
  • ConvertQuoteToOrder (evento: sales_model_service_quote_submit_before)
    • Descripción: Convierte crédito de tienda del carrito a la orden durante la creación.
  • QuoteSubmitFailure (eventos: sales_model_service_quote_submit_failure, gaia_gabo_reserve_failure)
    • Descripción: Revierte crédito de tienda cuando falla la creación de la orden.
  • PaypalPrepareItems (evento: payment_cart_collect_items_and_amounts)
    • Descripción: Prepara items de crédito de tienda para integración con PayPal.

Plugins

  • ToOrderItem (tipo: Magento\Quote\Model\Quote\Item\ToOrderItem)
    • Descripción: Mueve opciones de crédito de tienda del item del carrito al item de la orden.
  • CanCreditmemo (tipo: Magento\Sales\Block\Order\View)
    • Descripción: Modifica la lógica de cuándo se puede crear un memo de crédito basado en crédito de tienda usado.

CLI Commands

Este módulo no define comandos CLI personalizados.

APIs

Expone endpoints REST para gestión de crédito de tienda, definidos en etc/webapi.xml, incluyendo operaciones de gasto, ganancia y consulta de saldo.

Consideraciones para Mantenimiento

  • El módulo es extenso y modifica múltiples aspectos del flujo de ventas.
  • Los observers son críticos para la integridad de datos de crédito de tienda.
  • Los plugins pueden requerir ajustes si cambian los métodos core de carrito y órdenes.
  • La desactivación puede afectar órdenes existentes que usen crédito de tienda.
  • Revisar compatibilidad con otros módulos de pago y gestión de órdenes.